22 N.Info.serialize(Schema, OS);
36 const unsigned char *Ptr) {
42 const uint64_t NumNodes = endian::readNext<uint64_t, little, unaligned>(Ptr);
46 endian::readNext<uint64_t, little, unaligned>(Ptr);
47 for (
uint64_t J = 0; J < NumFrames; J++) {
48 const FrameId Id = endian::readNext<FrameId, little, unaligned>(Ptr);
49 Node.CallStack.push_back(
Id);
51 Node.Info.deserialize(Schema, Ptr);
57 const uint64_t NumCtxs = endian::readNext<uint64_t, little, unaligned>(Ptr);
58 for (
uint64_t J = 0; J < NumCtxs; J++) {
60 endian::readNext<uint64_t, little, unaligned>(Ptr);
63 for (
uint64_t K = 0; K < NumFrames; K++) {
64 const FrameId Id = endian::readNext<FrameId, little, unaligned>(Ptr);
67 Record.CallSites.push_back(Frames);
74 const auto Pos = FunctionName.
find(
".llvm.");
87 const unsigned char *Ptr = Buffer;
89 endian::readNext<uint64_t, little, unaligned>(Ptr);
92 "memprof schema invalid");
96 for (
size_t I = 0;
I < NumSchemaIds;
I++) {
97 const uint64_t Tag = endian::readNext<uint64_t, little, unaligned>(Ptr);
100 "memprof schema invalid");
102 Result.push_back(
static_cast<Meta>(
Tag));