13#ifndef LLVM_XRAY_FDRRECORDS_H
14#define LLVM_XRAY_FDRRECORDS_H
29class RecordInitializer;
146 Seconds(S), Nanos(
N) {}
252 int32_t
delta()
const {
return Delta; }
280 int32_t
delta()
const {
return Delta; }
327 int32_t
pid()
const {
return PID; }
350 int32_t
tid()
const {
return TID; }
378 static constexpr unsigned kFunctionRecordSize = 8;
427 : E(DE), OffsetPtr(
OP), Version(V) {}
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
Lightweight error class with error context and mandatory checking.
StringRef - Represent a constant reference to a string, i.e.
Error apply(RecordVisitor &V) override
static bool classof(const Record *R)
BufferExtents(uint64_t S)
static bool classof(const Record *R)
Error apply(RecordVisitor &V) override
CallArgRecord(uint64_t A)
Error apply(RecordVisitor &V) override
static bool classof(const Record *R)
CustomEventRecordV5(int32_t S, int32_t D, std::string P)
static bool classof(const Record *R)
Error apply(RecordVisitor &V) override
CustomEventRecord(uint64_t S, uint64_t T, uint16_t C, std::string D)
Error apply(RecordVisitor &V) override
static bool classof(const Record *R)
RecordTypes recordType() const
int32_t functionId() const
Error apply(RecordVisitor &V) override
FunctionRecord(RecordTypes K, int32_t F, uint32_t D)
static bool classof(const Record *R)
NewBufferRecord(int32_t T)
Error apply(RecordVisitor &V) override
static bool classof(const Record *R)
NewCPUIDRecord(uint16_t C, uint64_t T)
static bool classof(const Record *R)
Error apply(RecordVisitor &V) override
static bool classof(const Record *R)
Error apply(RecordVisitor &V) override
static constexpr uint16_t DefaultVersion
Error visit(BufferExtents &) override
RecordInitializer(DataExtractor &DE, uint64_t &OP)
RecordInitializer(DataExtractor &DE, uint64_t &OP, uint16_t V)
virtual Error visit(TSCWrapRecord &)=0
virtual Error visit(CallArgRecord &)=0
virtual Error visit(TypedEventRecord &)=0
virtual Error visit(CustomEventRecord &)=0
virtual Error visit(PIDRecord &)=0
virtual Error visit(WallclockRecord &)=0
virtual Error visit(FunctionRecord &)=0
virtual Error visit(NewBufferRecord &)=0
virtual ~RecordVisitor()=default
virtual Error visit(BufferExtents &)=0
virtual Error visit(CustomEventRecordV5 &)=0
virtual Error visit(NewCPUIDRecord &)=0
virtual Error visit(EndBufferRecord &)=0
static StringRef kindToString(RecordKind K)
Record(const Record &)=delete
@ RK_Metadata_BufferExtents
@ RK_Metadata_EndOfBuffer
@ RK_Metadata_WallClockTime
@ RK_Metadata_CustomEvent
@ RK_Metadata_LastMetadata
@ RK_Metadata_CustomEventV5
virtual Error apply(RecordVisitor &V)=0
Record & operator=(Record &&)=delete
virtual ~Record()=default
RecordKind getRecordType() const
Record & operator=(const Record &)=delete
TSCWrapRecord(uint64_t B)
static bool classof(const Record *R)
Error apply(RecordVisitor &V) override
TypedEventRecord(int32_t S, int32_t D, uint16_t E, std::string P)
static bool classof(const Record *R)
Error apply(RecordVisitor &V) override
uint16_t eventType() const
static bool classof(const Record *R)
WallclockRecord(uint64_t S, uint32_t N)
Error apply(RecordVisitor &V) override
@ C
The default llvm calling convention, compatible with C.
RecordTypes
Determines the supported types of records that could be seen in XRay traces.
This is an optimization pass for GlobalISel generic memory operations.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.