LLVM: include/llvm/DebugInfo/MSF/MappedBlockStream.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_DEBUGINFO_MSF_MAPPEDBLOCKSTREAM_H

10#define LLVM_DEBUGINFO_MSF_MAPPEDBLOCKSTREAM_H

11

21#include

22#include

23#include

24

25namespace llvm {

26namespace msf {

27

28

29

30

31

32

33

34

35

36

37

40

41public:

42 static std::unique_ptr

45

46 static std::unique_ptr

49

50 static std::unique_ptr

53

54 static std::unique_ptr

57

61

66

67 uint64_t getLength() override;

68

70

71 void invalidateCache();

72

76

77protected:

80

81private:

82 const MSFStreamLayout &getStreamLayout() const { return StreamLayout; }

84

88

90 const MSFStreamLayout StreamLayout;

92

94

95

96

97

98

99

100

101

104};

105

107public:

108 static std::unique_ptr

111

112 static std::unique_ptr

115

116 static std::unique_ptr

120

121 static std::unique_ptr

124

128

133 uint64_t getLength() override;

134

136

137 Error commit() override;

138

140 return ReadInterface.getStreamLayout();

141 }

142

146

147protected:

152

153private:

156};

157

158}

159}

160

161#endif

This file defines the BumpPtrAllocator interface.

This file defines the DenseMap class.

static const int BlockSize

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

BinaryStreamRef is to BinaryStream what ArrayRef is to an Array.

An interface for accessing data in a stream-like format, but which discourages copying.

Lightweight error class with error context and mandatory checking.

MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memo...

A BinaryStream which can be read from as well as written to.

Describes the layout of a stream in an MSF layout.

MappedBlockStream represents data stored in an MSF file into chunks of a particular size (called the ...

Definition MappedBlockStream.h:38

static std::unique_ptr< MappedBlockStream > createIndexedStream(const MSFLayout &Layout, BinaryStreamRef MsfData, uint32_t StreamIndex, BumpPtrAllocator &Allocator)

BumpPtrAllocator & getAllocator()

Definition MappedBlockStream.h:69

static std::unique_ptr< MappedBlockStream > createStream(uint32_t BlockSize, const MSFStreamLayout &Layout, BinaryStreamRef MsfData, BumpPtrAllocator &Allocator)

friend class WritableMappedBlockStream

Definition MappedBlockStream.h:39

llvm::endianness getEndian() const override

Definition MappedBlockStream.h:58

uint32_t getStreamLength() const

Definition MappedBlockStream.h:75

uint32_t getNumBlocks() const

Definition MappedBlockStream.h:74

MappedBlockStream(uint32_t BlockSize, const MSFStreamLayout &StreamLayout, BinaryStreamRef MsfData, BumpPtrAllocator &Allocator)

static std::unique_ptr< MappedBlockStream > createDirectoryStream(const MSFLayout &Layout, BinaryStreamRef MsfData, BumpPtrAllocator &Allocator)

uint32_t getBlockSize() const

Definition MappedBlockStream.h:73

static std::unique_ptr< MappedBlockStream > createFpmStream(const MSFLayout &Layout, BinaryStreamRef MsfData, BumpPtrAllocator &Allocator)

static std::unique_ptr< WritableMappedBlockStream > createIndexedStream(const MSFLayout &Layout, WritableBinaryStreamRef MsfData, uint32_t StreamIndex, BumpPtrAllocator &Allocator)

uint32_t getStreamLength() const

Definition MappedBlockStream.h:145

static std::unique_ptr< WritableMappedBlockStream > createStream(uint32_t BlockSize, const MSFStreamLayout &Layout, WritableBinaryStreamRef MsfData, BumpPtrAllocator &Allocator)

WritableMappedBlockStream(uint32_t BlockSize, const MSFStreamLayout &StreamLayout, WritableBinaryStreamRef MsfData, BumpPtrAllocator &Allocator)

static std::unique_ptr< WritableMappedBlockStream > createFpmStream(const MSFLayout &Layout, WritableBinaryStreamRef MsfData, BumpPtrAllocator &Allocator, bool AltFpm=false)

static std::unique_ptr< WritableMappedBlockStream > createDirectoryStream(const MSFLayout &Layout, WritableBinaryStreamRef MsfData, BumpPtrAllocator &Allocator)

uint32_t getBlockSize() const

Definition MappedBlockStream.h:143

const MSFStreamLayout & getStreamLayout() const

Definition MappedBlockStream.h:139

uint32_t getNumBlocks() const

Definition MappedBlockStream.h:144

llvm::endianness getEndian() const override

Definition MappedBlockStream.h:125

This is an optimization pass for GlobalISel generic memory operations.

FunctionAddr VTableAddr uintptr_t uintptr_t Data

BumpPtrAllocatorImpl<> BumpPtrAllocator

The standard BumpPtrAllocator which just uses the default template parameters.