14 #ifndef LLVM_SUPPORT_MEMORY_H 15 #define LLVM_SUPPORT_MEMORY_H 19 #include <system_error> 33 void *
base()
const {
return Address; }
34 size_t size()
const {
return Size; }
78 static MemoryBlock allocateMappedMemory(
size_t NumBytes,
92 static std::error_code releaseMappedMemory(
MemoryBlock &Block);
109 static std::error_code protectMappedMemory(
const MemoryBlock &Block,
115 static void InvalidateInstructionCache(
const void *Addr,
size_t Len);
135 void *
base()
const {
return M.base(); }
136 size_t size()
const {
return M.size(); }
This class represents lattice values for constants.
This class provides various memory handling functions that manipulate MemoryBlock instances...
static std::error_code releaseMappedMemory(MemoryBlock &Block)
This method releases a block of memory that was allocated with the allocateMappedMemory method...
OwningMemoryBlock(MemoryBlock M)
MemoryBlock(void *addr, size_t size)
OwningMemoryBlock & operator=(OwningMemoryBlock &&Other)
This class encapsulates the notion of a memory block which has an address and a size.
Owning version of MemoryBlock.
OwningMemoryBlock(OwningMemoryBlock &&Other)
MemoryBlock getMemoryBlock() const