/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h
Line | Count | Source (jump to first uncovered line) |
1 | | //===- SymbolSerializer.h ---------------------------------------*- C++ -*-===// |
2 | | // |
3 | | // The LLVM Compiler Infrastructure |
4 | | // |
5 | | // This file is distributed under the University of Illinois Open Source |
6 | | // License. See LICENSE.TXT for details. |
7 | | // |
8 | | //===----------------------------------------------------------------------===// |
9 | | |
10 | | #ifndef LLVM_DEBUGINFO_CODEVIEW_SYMBOLSERIALIZER_H |
11 | | #define LLVM_DEBUGINFO_CODEVIEW_SYMBOLSERIALIZER_H |
12 | | |
13 | | #include "llvm/ADT/Optional.h" |
14 | | #include "llvm/DebugInfo/CodeView/CodeView.h" |
15 | | #include "llvm/DebugInfo/CodeView/RecordSerialization.h" |
16 | | #include "llvm/DebugInfo/CodeView/SymbolRecord.h" |
17 | | #include "llvm/DebugInfo/CodeView/SymbolRecordMapping.h" |
18 | | #include "llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h" |
19 | | #include "llvm/Support/Allocator.h" |
20 | | #include "llvm/Support/BinaryByteStream.h" |
21 | | #include "llvm/Support/BinaryStreamWriter.h" |
22 | | #include "llvm/Support/Error.h" |
23 | | #include <cstdint> |
24 | | #include <vector> |
25 | | |
26 | | namespace llvm { |
27 | | namespace codeview { |
28 | | |
29 | | class SymbolSerializer : public SymbolVisitorCallbacks { |
30 | | BumpPtrAllocator &Storage; |
31 | | // Since this is a fixed size buffer, use a stack allocated buffer. This |
32 | | // yields measurable performance increase over the repeated heap allocations |
33 | | // when serializing many independent records via writeOneSymbol. |
34 | | std::array<uint8_t, MaxRecordLength> RecordBuffer; |
35 | | MutableBinaryByteStream Stream; |
36 | | BinaryStreamWriter Writer; |
37 | | SymbolRecordMapping Mapping; |
38 | | Optional<SymbolKind> CurrentSymbol; |
39 | | |
40 | 585 | Error writeRecordPrefix(SymbolKind Kind) { |
41 | 585 | RecordPrefix Prefix; |
42 | 585 | Prefix.RecordKind = Kind; |
43 | 585 | Prefix.RecordLen = 0; |
44 | 585 | if (auto EC = Writer.writeObject(Prefix)) |
45 | 0 | return EC; |
46 | 585 | return Error::success(); |
47 | 585 | } |
48 | | |
49 | | public: |
50 | | SymbolSerializer(BumpPtrAllocator &Storage, CodeViewContainer Container); |
51 | | |
52 | | template <typename SymType> |
53 | | static CVSymbol writeOneSymbol(SymType &Sym, BumpPtrAllocator &Storage, |
54 | 450 | CodeViewContainer Container) { |
55 | 450 | CVSymbol Result; |
56 | 450 | Result.Type = static_cast<SymbolKind>(Sym.Kind); |
57 | 450 | SymbolSerializer Serializer(Storage, Container); |
58 | 450 | consumeError(Serializer.visitSymbolBegin(Result)); |
59 | 450 | consumeError(Serializer.visitKnownRecord(Result, Sym)); |
60 | 450 | consumeError(Serializer.visitSymbolEnd(Result)); |
61 | 450 | return Result; |
62 | 450 | } llvm::codeview::CVRecord<llvm::codeview::SymbolKind> llvm::codeview::SymbolSerializer::writeOneSymbol<llvm::codeview::UDTSym>(llvm::codeview::UDTSym&, llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul>&, llvm::codeview::CodeViewContainer) Line | Count | Source | 54 | 4 | CodeViewContainer Container) { | 55 | 4 | CVSymbol Result; | 56 | 4 | Result.Type = static_cast<SymbolKind>(Sym.Kind); | 57 | 4 | SymbolSerializer Serializer(Storage, Container); | 58 | 4 | consumeError(Serializer.visitSymbolBegin(Result)); | 59 | 4 | consumeError(Serializer.visitKnownRecord(Result, Sym)); | 60 | 4 | consumeError(Serializer.visitSymbolEnd(Result)); | 61 | 4 | return Result; | 62 | 4 | } |
Unexecuted instantiation: llvm::codeview::CVRecord<llvm::codeview::SymbolKind> llvm::codeview::SymbolSerializer::writeOneSymbol<llvm::codeview::ConstantSym>(llvm::codeview::ConstantSym&, llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul>&, llvm::codeview::CodeViewContainer) llvm::codeview::CVRecord<llvm::codeview::SymbolKind> llvm::codeview::SymbolSerializer::writeOneSymbol<llvm::codeview::DataSym>(llvm::codeview::DataSym&, llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul>&, llvm::codeview::CodeViewContainer) Line | Count | Source | 54 | 8 | CodeViewContainer Container) { | 55 | 8 | CVSymbol Result; | 56 | 8 | Result.Type = static_cast<SymbolKind>(Sym.Kind); | 57 | 8 | SymbolSerializer Serializer(Storage, Container); | 58 | 8 | consumeError(Serializer.visitSymbolBegin(Result)); | 59 | 8 | consumeError(Serializer.visitKnownRecord(Result, Sym)); | 60 | 8 | consumeError(Serializer.visitSymbolEnd(Result)); | 61 | 8 | return Result; | 62 | 8 | } |
llvm::codeview::CVRecord<llvm::codeview::SymbolKind> llvm::codeview::SymbolSerializer::writeOneSymbol<llvm::codeview::ProcRefSym>(llvm::codeview::ProcRefSym&, llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul>&, llvm::codeview::CodeViewContainer) Line | Count | Source | 54 | 37 | CodeViewContainer Container) { | 55 | 37 | CVSymbol Result; | 56 | 37 | Result.Type = static_cast<SymbolKind>(Sym.Kind); | 57 | 37 | SymbolSerializer Serializer(Storage, Container); | 58 | 37 | consumeError(Serializer.visitSymbolBegin(Result)); | 59 | 37 | consumeError(Serializer.visitKnownRecord(Result, Sym)); | 60 | 37 | consumeError(Serializer.visitSymbolEnd(Result)); | 61 | 37 | return Result; | 62 | 37 | } |
llvm::codeview::CVRecord<llvm::codeview::SymbolKind> llvm::codeview::SymbolSerializer::writeOneSymbol<llvm::codeview::PublicSym32>(llvm::codeview::PublicSym32&, llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul>&, llvm::codeview::CodeViewContainer) Line | Count | Source | 54 | 89 | CodeViewContainer Container) { | 55 | 89 | CVSymbol Result; | 56 | 89 | Result.Type = static_cast<SymbolKind>(Sym.Kind); | 57 | 89 | SymbolSerializer Serializer(Storage, Container); | 58 | 89 | consumeError(Serializer.visitSymbolBegin(Result)); | 59 | 89 | consumeError(Serializer.visitKnownRecord(Result, Sym)); | 60 | 89 | consumeError(Serializer.visitSymbolEnd(Result)); | 61 | 89 | return Result; | 62 | 89 | } |
llvm::codeview::CVRecord<llvm::codeview::SymbolKind> llvm::codeview::SymbolSerializer::writeOneSymbol<llvm::codeview::SectionSym>(llvm::codeview::SectionSym&, llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul>&, llvm::codeview::CodeViewContainer) Line | Count | Source | 54 | 142 | CodeViewContainer Container) { | 55 | 142 | CVSymbol Result; | 56 | 142 | Result.Type = static_cast<SymbolKind>(Sym.Kind); | 57 | 142 | SymbolSerializer Serializer(Storage, Container); | 58 | 142 | consumeError(Serializer.visitSymbolBegin(Result)); | 59 | 142 | consumeError(Serializer.visitKnownRecord(Result, Sym)); | 60 | 142 | consumeError(Serializer.visitSymbolEnd(Result)); | 61 | 142 | return Result; | 62 | 142 | } |
llvm::codeview::CVRecord<llvm::codeview::SymbolKind> llvm::codeview::SymbolSerializer::writeOneSymbol<llvm::codeview::EnvBlockSym>(llvm::codeview::EnvBlockSym&, llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul>&, llvm::codeview::CodeViewContainer) Line | Count | Source | 54 | 41 | CodeViewContainer Container) { | 55 | 41 | CVSymbol Result; | 56 | 41 | Result.Type = static_cast<SymbolKind>(Sym.Kind); | 57 | 41 | SymbolSerializer Serializer(Storage, Container); | 58 | 41 | consumeError(Serializer.visitSymbolBegin(Result)); | 59 | 41 | consumeError(Serializer.visitKnownRecord(Result, Sym)); | 60 | 41 | consumeError(Serializer.visitSymbolEnd(Result)); | 61 | 41 | return Result; | 62 | 41 | } |
llvm::codeview::CVRecord<llvm::codeview::SymbolKind> llvm::codeview::SymbolSerializer::writeOneSymbol<llvm::codeview::Compile3Sym>(llvm::codeview::Compile3Sym&, llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul>&, llvm::codeview::CodeViewContainer) Line | Count | Source | 54 | 63 | CodeViewContainer Container) { | 55 | 63 | CVSymbol Result; | 56 | 63 | Result.Type = static_cast<SymbolKind>(Sym.Kind); | 57 | 63 | SymbolSerializer Serializer(Storage, Container); | 58 | 63 | consumeError(Serializer.visitSymbolBegin(Result)); | 59 | 63 | consumeError(Serializer.visitKnownRecord(Result, Sym)); | 60 | 63 | consumeError(Serializer.visitSymbolEnd(Result)); | 61 | 63 | return Result; | 62 | 63 | } |
llvm::codeview::CVRecord<llvm::codeview::SymbolKind> llvm::codeview::SymbolSerializer::writeOneSymbol<llvm::codeview::ObjNameSym>(llvm::codeview::ObjNameSym&, llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul>&, llvm::codeview::CodeViewContainer) Line | Count | Source | 54 | 66 | CodeViewContainer Container) { | 55 | 66 | CVSymbol Result; | 56 | 66 | Result.Type = static_cast<SymbolKind>(Sym.Kind); | 57 | 66 | SymbolSerializer Serializer(Storage, Container); | 58 | 66 | consumeError(Serializer.visitSymbolBegin(Result)); | 59 | 66 | consumeError(Serializer.visitKnownRecord(Result, Sym)); | 60 | 66 | consumeError(Serializer.visitSymbolEnd(Result)); | 61 | 66 | return Result; | 62 | 66 | } |
|
63 | | |
64 | | Error visitSymbolBegin(CVSymbol &Record) override; |
65 | | Error visitSymbolEnd(CVSymbol &Record) override; |
66 | | |
67 | | #define SYMBOL_RECORD(EnumName, EnumVal, Name) \ |
68 | 585 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ |
69 | 585 | return visitKnownRecordImpl(CVR, Record); \ |
70 | 585 | } Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ThreadLocalDataSym&) llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::BuildInfoSym&) Line | Count | Source | 68 | 22 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 22 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 22 | } |
llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::PublicSym32&) Line | Count | Source | 68 | 89 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 89 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 89 | } |
Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::RegisterSym&) llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ProcRefSym&) Line | Count | Source | 68 | 37 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 37 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 37 | } |
Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::LocalSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::InlineSiteSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeSubfieldSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeFramePointerRelSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeRegisterSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeFramePointerRelFullScopeSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeSubfieldRegisterSym&) llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::BlockSym&) Line | Count | Source | 68 | 4 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 4 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 4 | } |
Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeRegisterRelSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::LabelSym&) llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ScopeEndSym&) Line | Count | Source | 68 | 33 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 33 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 33 | } |
llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::TrampolineSym&) Line | Count | Source | 68 | 1 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 1 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 1 | } |
Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::Thunk32Sym&) llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::CoffGroupSym&) Line | Count | Source | 68 | 5 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 5 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 5 | } |
llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ProcSym&) Line | Count | Source | 68 | 31 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 31 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 31 | } |
Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ExportSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::Compile2Sym&) llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::FrameProcSym&) Line | Count | Source | 68 | 28 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 28 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 28 | } |
Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::CallSiteInfoSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::FileStaticSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::HeapAllocationSiteSym&) Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::FrameCookieSym&) llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::CallerSym&) Line | Count | Source | 68 | 2 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 2 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 2 | } |
llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ObjNameSym&) Line | Count | Source | 68 | 66 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 66 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 66 | } |
llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::Compile3Sym&) Line | Count | Source | 68 | 63 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 63 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 63 | } |
llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::EnvBlockSym&) Line | Count | Source | 68 | 41 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 41 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 41 | } |
llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::SectionSym&) Line | Count | Source | 68 | 142 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 142 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 142 | } |
llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::UDTSym&) Line | Count | Source | 68 | 4 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 4 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 4 | } |
llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DataSym&) Line | Count | Source | 68 | 8 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 8 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 8 | } |
Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ConstantSym&) llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::RegRelativeSym&) Line | Count | Source | 68 | 9 | Error visitKnownRecord(CVSymbol &CVR, Name &Record) override { \ | 69 | 9 | return visitKnownRecordImpl(CVR, Record); \ | 70 | 9 | } |
Unexecuted instantiation: llvm::codeview::SymbolSerializer::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::BPRelativeSym&) |
71 | | #define SYMBOL_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName) |
72 | | #include "llvm/DebugInfo/CodeView/CodeViewSymbols.def" |
73 | | |
74 | | private: |
75 | | template <typename RecordKind> |
76 | 585 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { |
77 | 585 | return Mapping.visitKnownRecord(CVR, Record); |
78 | 585 | } Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::Thunk32Sym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::Thunk32Sym&) llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::ScopeEndSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ScopeEndSym&) Line | Count | Source | 76 | 33 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 33 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 33 | } |
llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::BuildInfoSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::BuildInfoSym&) Line | Count | Source | 76 | 22 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 22 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 22 | } |
llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::UDTSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::UDTSym&) Line | Count | Source | 76 | 4 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 4 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 4 | } |
Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::ConstantSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ConstantSym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::BPRelativeSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::BPRelativeSym&) llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::RegRelativeSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::RegRelativeSym&) Line | Count | Source | 76 | 9 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 9 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 9 | } |
llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::DataSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DataSym&) Line | Count | Source | 76 | 8 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 8 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 8 | } |
Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::ThreadLocalDataSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ThreadLocalDataSym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::LabelSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::LabelSym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::DefRangeRegisterRelSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeRegisterRelSym&) llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::BlockSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::BlockSym&) Line | Count | Source | 76 | 4 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 4 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 4 | } |
Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::Compile2Sym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::Compile2Sym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::CallSiteInfoSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::CallSiteInfoSym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::FileStaticSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::FileStaticSym&) llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::FrameProcSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::FrameProcSym&) Line | Count | Source | 76 | 28 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 28 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 28 | } |
Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::FrameCookieSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::FrameCookieSym&) llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::CallerSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::CallerSym&) Line | Count | Source | 76 | 2 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 2 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 2 | } |
Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::HeapAllocationSiteSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::HeapAllocationSiteSym&) llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::ProcRefSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ProcRefSym&) Line | Count | Source | 76 | 37 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 37 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 37 | } |
llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::PublicSym32>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::PublicSym32&) Line | Count | Source | 76 | 89 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 89 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 89 | } |
Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::DefRangeSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeSym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::LocalSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::LocalSym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::InlineSiteSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::InlineSiteSym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::DefRangeRegisterSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeRegisterSym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::DefRangeSubfieldSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeSubfieldSym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::DefRangeFramePointerRelFullScopeSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeFramePointerRelFullScopeSym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::DefRangeSubfieldRegisterSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeSubfieldRegisterSym&) Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::DefRangeFramePointerRelSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::DefRangeFramePointerRelSym&) llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::CoffGroupSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::CoffGroupSym&) Line | Count | Source | 76 | 5 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 5 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 5 | } |
llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::TrampolineSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::TrampolineSym&) Line | Count | Source | 76 | 1 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 1 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 1 | } |
Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::RegisterSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::RegisterSym&) llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::ProcSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ProcSym&) Line | Count | Source | 76 | 31 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 31 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 31 | } |
Unexecuted instantiation: llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::ExportSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ExportSym&) llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::SectionSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::SectionSym&) Line | Count | Source | 76 | 142 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 142 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 142 | } |
llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::EnvBlockSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::EnvBlockSym&) Line | Count | Source | 76 | 41 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 41 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 41 | } |
llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::Compile3Sym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::Compile3Sym&) Line | Count | Source | 76 | 63 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 63 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 63 | } |
llvm::Error llvm::codeview::SymbolSerializer::visitKnownRecordImpl<llvm::codeview::ObjNameSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::ObjNameSym&) Line | Count | Source | 76 | 66 | Error visitKnownRecordImpl(CVSymbol &CVR, RecordKind &Record) { | 77 | 66 | return Mapping.visitKnownRecord(CVR, Record); | 78 | 66 | } |
|
79 | | }; |
80 | | |
81 | | } // end namespace codeview |
82 | | } // end namespace llvm |
83 | | |
84 | | #endif // LLVM_DEBUGINFO_CODEVIEW_SYMBOLSERIALIZER_H |