class InProcessMemoryMapper
Declaration
class InProcessMemoryMapper : public MemoryMapper { /* full declaration omitted */ };
Description
Manages mapping, content transfer and protections for JIT memory
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:81
Inherits from: MemoryMapper
Member Variables
- private std::mutex Mutex
- private llvm::orc::InProcessMemoryMapper::ReservationMap Reservations
- private llvm::orc::InProcessMemoryMapper::AllocationMap Allocations
- private size_t PageSize
Method Overview
- public static Expected<std::unique_ptr<InProcessMemoryMapper>> Create()
- public InProcessMemoryMapper(size_t PageSize)
- public void deinitialize(ArrayRef<llvm::orc::ExecutorAddr> Allocations, llvm::orc::MemoryMapper::OnDeinitializedFunction OnDeInitialized)
- public unsigned int getPageSize()
- public void initialize(llvm::orc::MemoryMapper::AllocInfo & AI, llvm::orc::MemoryMapper::OnInitializedFunction OnInitialized)
- public char * prepare(llvm::orc::ExecutorAddr Addr, size_t ContentSize)
- public void release(ArrayRef<llvm::orc::ExecutorAddr> Reservations, llvm::orc::MemoryMapper::OnReleasedFunction OnRelease)
- public void reserve(size_t NumBytes, llvm::orc::MemoryMapper::OnReservedFunction OnReserved)
- public ~InProcessMemoryMapper()
Inherited from MemoryMapper:
Methods
¶static Expected<
std::unique_ptr<InProcessMemoryMapper>>
Create()
static Expected<
std::unique_ptr<InProcessMemoryMapper>>
Create()
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:85
¶InProcessMemoryMapper(size_t PageSize)
InProcessMemoryMapper(size_t PageSize)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:83
Parameters
- size_t PageSize
¶void deinitialize(
ArrayRef<llvm::orc::ExecutorAddr> Allocations,
llvm::orc::MemoryMapper::
OnDeinitializedFunction OnDeInitialized)
void deinitialize(
ArrayRef<llvm::orc::ExecutorAddr> Allocations,
llvm::orc::MemoryMapper::
OnDeinitializedFunction OnDeInitialized)
Description
Runs previously specified deinitialization actions Executor addresses returned by initialize should be passed
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:95
Parameters
- ArrayRef<llvm::orc::ExecutorAddr> Allocations
- llvm::orc::MemoryMapper::OnDeinitializedFunction OnDeInitialized
¶unsigned int getPageSize()
unsigned int getPageSize()
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:87
¶void initialize(
llvm::orc::MemoryMapper::AllocInfo& AI,
llvm::orc::MemoryMapper::OnInitializedFunction
OnInitialized)
void initialize(
llvm::orc::MemoryMapper::AllocInfo& AI,
llvm::orc::MemoryMapper::OnInitializedFunction
OnInitialized)
Description
Ensures executor memory is synchronized with working copy memory, sends functions to be called after initilization and before deinitialization and applies memory protections Returns a unique address identifying the allocation. This address should be passed to deinitialize to run deallocation actions (and reset permissions where possible).
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:91
Parameters
- llvm::orc::MemoryMapper::AllocInfo& AI
- llvm::orc::MemoryMapper::OnInitializedFunction OnInitialized
¶char* prepare(llvm::orc::ExecutorAddr Addr,
size_t ContentSize)
char* prepare(llvm::orc::ExecutorAddr Addr,
size_t ContentSize)
Description
Provides working memory
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:93
Parameters
- llvm::orc::ExecutorAddr Addr
- size_t ContentSize
¶void release(
ArrayRef<llvm::orc::ExecutorAddr>
Reservations,
llvm::orc::MemoryMapper::OnReleasedFunction
OnRelease)
void release(
ArrayRef<llvm::orc::ExecutorAddr>
Reservations,
llvm::orc::MemoryMapper::OnReleasedFunction
OnRelease)
Description
Release address space acquired through reserve()
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:98
Parameters
- ArrayRef<llvm::orc::ExecutorAddr> Reservations
- llvm::orc::MemoryMapper::OnReleasedFunction OnRelease
¶void reserve(
size_t NumBytes,
llvm::orc::MemoryMapper::OnReservedFunction
OnReserved)
void reserve(
size_t NumBytes,
llvm::orc::MemoryMapper::OnReservedFunction
OnReserved)
Description
Reserves address space in executor process
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:89
Parameters
- size_t NumBytes
- llvm::orc::MemoryMapper::OnReservedFunction OnReserved
¶~InProcessMemoryMapper()
~InProcessMemoryMapper()
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:101