Changeset View
Changeset View
Standalone View
Standalone View
llvm/include/llvm/DebugInfo/MSF/MappedBlockStream.h
Show First 20 Lines • Show All 52 Lines • ▼ Show 20 Lines | public: | ||||
static std::unique_ptr<MappedBlockStream> | static std::unique_ptr<MappedBlockStream> | ||||
createDirectoryStream(const MSFLayout &Layout, BinaryStreamRef MsfData, | createDirectoryStream(const MSFLayout &Layout, BinaryStreamRef MsfData, | ||||
BumpPtrAllocator &Allocator); | BumpPtrAllocator &Allocator); | ||||
support::endianness getEndian() const override { | support::endianness getEndian() const override { | ||||
return support::little; | return support::little; | ||||
} | } | ||||
Error readBytes(uint32_t Offset, uint32_t Size, | Error readBytes(uint64_t Offset, uint64_t Size, | ||||
ArrayRef<uint8_t> &Buffer) override; | ArrayRef<uint8_t> &Buffer) override; | ||||
Error readLongestContiguousChunk(uint32_t Offset, | Error readLongestContiguousChunk(uint64_t Offset, | ||||
ArrayRef<uint8_t> &Buffer) override; | ArrayRef<uint8_t> &Buffer) override; | ||||
uint32_t getLength() override; | uint64_t getLength() override; | ||||
BumpPtrAllocator &getAllocator() { return Allocator; } | BumpPtrAllocator &getAllocator() { return Allocator; } | ||||
void invalidateCache(); | void invalidateCache(); | ||||
uint32_t getBlockSize() const { return BlockSize; } | uint32_t getBlockSize() const { return BlockSize; } | ||||
uint32_t getNumBlocks() const { return StreamLayout.Blocks.size(); } | uint32_t getNumBlocks() const { return StreamLayout.Blocks.size(); } | ||||
uint32_t getStreamLength() const { return StreamLayout.Length; } | uint32_t getStreamLength() const { return StreamLayout.Length; } | ||||
protected: | protected: | ||||
MappedBlockStream(uint32_t BlockSize, const MSFStreamLayout &StreamLayout, | MappedBlockStream(uint32_t BlockSize, const MSFStreamLayout &StreamLayout, | ||||
BinaryStreamRef MsfData, BumpPtrAllocator &Allocator); | BinaryStreamRef MsfData, BumpPtrAllocator &Allocator); | ||||
private: | private: | ||||
const MSFStreamLayout &getStreamLayout() const { return StreamLayout; } | const MSFStreamLayout &getStreamLayout() const { return StreamLayout; } | ||||
void fixCacheAfterWrite(uint32_t Offset, ArrayRef<uint8_t> Data) const; | void fixCacheAfterWrite(uint64_t Offset, ArrayRef<uint8_t> Data) const; | ||||
Error readBytes(uint32_t Offset, MutableArrayRef<uint8_t> Buffer); | Error readBytes(uint64_t Offset, MutableArrayRef<uint8_t> Buffer); | ||||
bool tryReadContiguously(uint32_t Offset, uint32_t Size, | bool tryReadContiguously(uint64_t Offset, uint64_t Size, | ||||
ArrayRef<uint8_t> &Buffer); | ArrayRef<uint8_t> &Buffer); | ||||
const uint32_t BlockSize; | const uint32_t BlockSize; | ||||
const MSFStreamLayout StreamLayout; | const MSFStreamLayout StreamLayout; | ||||
BinaryStreamRef MsfData; | BinaryStreamRef MsfData; | ||||
using CacheEntry = MutableArrayRef<uint8_t>; | using CacheEntry = MutableArrayRef<uint8_t>; | ||||
Show All 26 Lines | public: | ||||
static std::unique_ptr<WritableMappedBlockStream> | static std::unique_ptr<WritableMappedBlockStream> | ||||
createFpmStream(const MSFLayout &Layout, WritableBinaryStreamRef MsfData, | createFpmStream(const MSFLayout &Layout, WritableBinaryStreamRef MsfData, | ||||
BumpPtrAllocator &Allocator, bool AltFpm = false); | BumpPtrAllocator &Allocator, bool AltFpm = false); | ||||
support::endianness getEndian() const override { | support::endianness getEndian() const override { | ||||
return support::little; | return support::little; | ||||
} | } | ||||
Error readBytes(uint32_t Offset, uint32_t Size, | Error readBytes(uint64_t Offset, uint64_t Size, | ||||
ArrayRef<uint8_t> &Buffer) override; | ArrayRef<uint8_t> &Buffer) override; | ||||
Error readLongestContiguousChunk(uint32_t Offset, | Error readLongestContiguousChunk(uint64_t Offset, | ||||
ArrayRef<uint8_t> &Buffer) override; | ArrayRef<uint8_t> &Buffer) override; | ||||
uint32_t getLength() override; | uint64_t getLength() override; | ||||
Error writeBytes(uint32_t Offset, ArrayRef<uint8_t> Buffer) override; | Error writeBytes(uint64_t Offset, ArrayRef<uint8_t> Buffer) override; | ||||
Error commit() override; | Error commit() override; | ||||
const MSFStreamLayout &getStreamLayout() const { | const MSFStreamLayout &getStreamLayout() const { | ||||
return ReadInterface.getStreamLayout(); | return ReadInterface.getStreamLayout(); | ||||
} | } | ||||
uint32_t getBlockSize() const { return ReadInterface.getBlockSize(); } | uint32_t getBlockSize() const { return ReadInterface.getBlockSize(); } | ||||
Show All 18 Lines |