class InProcessMemoryManager
Declaration
class InProcessMemoryManager : public JITLinkMemoryManager { /* full declaration omitted */ };
Description
A JITLinkMemoryManager that allocates in-process memory.
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:354
Inherits from: JITLinkMemoryManager
Member Variables
- private uint64_t PageSize
- private std::mutex FinalizedAllocsMutex
- private RecyclingAllocator< llvm::BumpPtrAllocator, llvm::jitlink::InProcessMemoryManager:: FinalizedAllocInfo> FinalizedAllocInfos
Method Overview
- public static Expected<std::unique_ptr<InProcessMemoryManager>> Create()
- public InProcessMemoryManager(uint64_t PageSize)
- public void allocate(const llvm::jitlink::JITLinkDylib * JD, llvm::jitlink::LinkGraph & G, llvm::jitlink::JITLinkMemoryManager::OnAllocatedFunction OnAllocated)
- private llvm::jitlink::JITLinkMemoryManager::FinalizedAlloc createFinalizedAlloc(sys::MemoryBlock StandardSegments, std::vector<orc::shared::WrapperFunctionCall> DeallocActions)
- public void deallocate(std::vector<FinalizedAlloc> Alloc, llvm::jitlink::JITLinkMemoryManager::OnDeallocatedFunction OnDeallocated)
Inherited from JITLinkMemoryManager:
Methods
¶static Expected<
std::unique_ptr<InProcessMemoryManager>>
Create()
static Expected<
std::unique_ptr<InProcessMemoryManager>>
Create()
Description
Attempts to auto-detect the host page size.
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:359
¶InProcessMemoryManager(uint64_t PageSize)
InProcessMemoryManager(uint64_t PageSize)
Description
Create an instance using the given page size.
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:362
Parameters
- uint64_t PageSize
¶void allocate(
const llvm::jitlink::JITLinkDylib* JD,
llvm::jitlink::LinkGraph& G,
llvm::jitlink::JITLinkMemoryManager::
OnAllocatedFunction OnAllocated)
void allocate(
const llvm::jitlink::JITLinkDylib* JD,
llvm::jitlink::LinkGraph& G,
llvm::jitlink::JITLinkMemoryManager::
OnAllocatedFunction OnAllocated)
Description
Start the allocation process. If the initial allocation is successful then the OnAllocated function will be called with a std::unique_ptr <InFlightAlloc > value. If the assocation is unsuccessful then the OnAllocated function will be called with an Error.
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:364
Parameters
- const llvm::jitlink::JITLinkDylib* JD
- llvm::jitlink::LinkGraph& G
- llvm::jitlink::JITLinkMemoryManager:: OnAllocatedFunction OnAllocated
¶llvm::jitlink::JITLinkMemoryManager::
FinalizedAlloc
createFinalizedAlloc(
sys::MemoryBlock StandardSegments,
std::vector<
orc::shared::WrapperFunctionCall>
DeallocActions)
llvm::jitlink::JITLinkMemoryManager::
FinalizedAlloc
createFinalizedAlloc(
sys::MemoryBlock StandardSegments,
std::vector<
orc::shared::WrapperFunctionCall>
DeallocActions)
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:384
Parameters
- sys::MemoryBlock StandardSegments
- std::vector<orc::shared::WrapperFunctionCall> DeallocActions
¶void deallocate(
std::vector<FinalizedAlloc> Alloc,
llvm::jitlink::JITLinkMemoryManager::
OnDeallocatedFunction OnDeallocated)
void deallocate(
std::vector<FinalizedAlloc> Alloc,
llvm::jitlink::JITLinkMemoryManager::
OnDeallocatedFunction OnDeallocated)
Description
Deallocate a list of allocation objects. Dealloc actions will be run in reverse order (from the end of the vector to the start).
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:370
Parameters
- std::vector<FinalizedAlloc> Alloc
- llvm::jitlink::JITLinkMemoryManager:: OnDeallocatedFunction OnDeallocated