22 Writer(Stream), Mapping(Writer, Container) {}
25 assert(!CurrentSymbol &&
"Already in a symbol mapping!");
29 if (
auto EC = writeRecordPrefix(
Record.kind()))
32 CurrentSymbol =
Record.kind();
33 if (
auto EC = Mapping.visitSymbolBegin(
Record))
40 assert(CurrentSymbol &&
"Not in a symbol mapping!");
42 if (
auto EC = Mapping.visitSymbolEnd(
Record))
45 uint32_t RecordEnd = Writer.getOffset();
48 if (
auto EC = Writer.writeInteger(
Length))
52 ::memcpy(StableStorage, &RecordBuffer[0], RecordEnd);
54 CurrentSymbol.reset();
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
Error visitSymbolBegin(CVSymbol &Record) override
SymbolSerializer(BumpPtrAllocator &Storage, CodeViewContainer Container)
Error visitSymbolEnd(CVSymbol &Record) override
CVRecord< SymbolKind > CVSymbol
This is an optimization pass for GlobalISel generic memory operations.
BumpPtrAllocatorImpl BumpPtrAllocator
The standard BumpPtrAllocator which just uses the default template parameters.