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.