LLVM: include/llvm/DebugInfo/PDB/Native/GlobalsStream.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_GLOBALSSTREAM_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_GLOBALSSTREAM_H
11
19
20namespace llvm {
22namespace msf {
24}
25namespace pdb {
27
28
29
32 GSIHashIterator, FixedStreamArrayIterator,
33 std::random_access_iterator_tag, const uint32_t> {
34public:
35 template
38
43};
44
45
47
48
49
50
52public:
57 std::array<int32_t, IPHR_HASH + 1> BucketMap;
58
60
65
69};
70
72public:
74 std::unique_ptrmsf::MappedBlockStream Stream);
78
79 LLVM_ABI std::vector<std::pair<uint32_t, codeview::CVSymbol>>
81
82private:
84 std::unique_ptrmsf::MappedBlockStream Stream;
85};
86}
87}
88
89#endif
Lightweight arrays that are backed by an arbitrary BinaryStream.
Provides read only access to a subclass of BinaryStream.
Lightweight error class with error context and mandatory checking.
FixedStreamArray is similar to VarStreamArray, except with each record having a fixed-length.
StringRef - Represent a constant reference to a string, i.e.
FixedStreamArrayIterator< PSHashRecord > I
iterator_adaptor_base()=default
MappedBlockStream represents data stored in an MSF file into chunks of a particular size (called the ...
Iterator over hash records producing symbol record offsets.
Definition GlobalsStream.h:33
uint32_t operator*() const
Definition GlobalsStream.h:39
GSIHashIterator(T &&v)
Definition GlobalsStream.h:36
A readonly view of a hash table used in the globals and publics streams.
Definition GlobalsStream.h:51
const GSIHashHeader * HashHdr
Definition GlobalsStream.h:53
uint32_t getHashRecordSize() const
Definition GlobalsStream.h:63
LLVM_ABI Error read(BinaryStreamReader &Reader)
uint32_t getNumBuckets() const
Definition GlobalsStream.h:64
std::array< int32_t, IPHR_HASH+1 > BucketMap
Definition GlobalsStream.h:57
FixedStreamArray< support::ulittle32_t > HashBuckets
Definition GlobalsStream.h:56
FixedStreamArray< support::ulittle32_t > HashBitmap
Definition GlobalsStream.h:55
uint32_t getVerSignature() const
Definition GlobalsStream.h:61
GSIHashHeader iterator
Definition GlobalsStream.h:66
GSIHashIterator begin() const
Definition GlobalsStream.h:67
GSIHashIterator end() const
Definition GlobalsStream.h:68
uint32_t getVerHeader() const
Definition GlobalsStream.h:62
FixedStreamArray< PSHashRecord > HashRecords
Definition GlobalsStream.h:54
LLVM_ABI std::vector< std::pair< uint32_t, codeview::CVSymbol > > findRecordsByName(StringRef Name, const SymbolStream &Symbols) const
LLVM_ABI ~GlobalsStream()
LLVM_ABI GlobalsStream(std::unique_ptr< msf::MappedBlockStream > Stream)
const GSIHashTable & getGlobalsTable() const
Definition GlobalsStream.h:76
@ IPHR_HASH
Definition GlobalsStream.h:46
This is an optimization pass for GlobalISel generic memory operations.
Implement std::hash so that hash_code can be used in STL containers.