class InProcessMemoryManager::IPInFlightAlloc
Declaration
class InProcessMemoryManager::IPInFlightAlloc : public InFlightAlloc { /* full declaration omitted */ };
Description
Represents an allocation which has not been finalized yet. InFlightAllocs manage both executor memory allocations and working memory allocations. On finalization, the InFlightAlloc should transfer the content of working memory into executor memory, apply memory protections, and run any finalization functions. Working memory should be kept alive at least until one of the following happens: (1) the InFlightAlloc instance is destroyed, (2) the InFlightAlloc is abandoned, (3) finalized target memory is destroyed. If abandon is called then working memory and executor memory should both be freed.
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp:231
Inherits from: JITLinkMemoryManager::InFlightAlloc
Member Variables
- private llvm::jitlink::InProcessMemoryManager& MemMgr
- private llvm::jitlink::LinkGraph& G
- private llvm::jitlink::BasicLayout BL
- private sys::MemoryBlock StandardSegments
- private sys::MemoryBlock FinalizationSegments
Method Overview
- public IPInFlightAlloc(llvm::jitlink::InProcessMemoryManager & MemMgr, llvm::jitlink::LinkGraph & G, llvm::jitlink::BasicLayout BL, sys::MemoryBlock StandardSegments, sys::MemoryBlock FinalizationSegments)
- public void abandon(llvm::jitlink::JITLinkMemoryManager::InFlightAlloc::OnAbandonedFunction OnAbandoned)
- private llvm::Error applyProtections()
- public void finalize(llvm::jitlink::JITLinkMemoryManager::InFlightAlloc::OnFinalizedFunction OnFinalized)
Inherited from JITLinkMemoryManager::InFlightAlloc:
Methods
¶IPInFlightAlloc(
llvm::jitlink::InProcessMemoryManager& MemMgr,
llvm::jitlink::LinkGraph& G,
llvm::jitlink::BasicLayout BL,
sys::MemoryBlock StandardSegments,
sys::MemoryBlock FinalizationSegments)
IPInFlightAlloc(
llvm::jitlink::InProcessMemoryManager& MemMgr,
llvm::jitlink::LinkGraph& G,
llvm::jitlink::BasicLayout BL,
sys::MemoryBlock StandardSegments,
sys::MemoryBlock FinalizationSegments)
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp:234
Parameters
- llvm::jitlink::InProcessMemoryManager& MemMgr
- llvm::jitlink::LinkGraph& G
- llvm::jitlink::BasicLayout BL
- sys::MemoryBlock StandardSegments
- sys::MemoryBlock FinalizationSegments
¶void abandon(
llvm::jitlink::JITLinkMemoryManager::
InFlightAlloc::OnAbandonedFunction
OnAbandoned)
void abandon(
llvm::jitlink::JITLinkMemoryManager::
InFlightAlloc::OnAbandonedFunction
OnAbandoned)
Description
Called prior to finalization if the allocation should be abandoned.
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp:267
Parameters
- llvm::jitlink::JITLinkMemoryManager:: InFlightAlloc::OnAbandonedFunction OnAbandoned
¶llvm::Error applyProtections()
llvm::Error applyProtections()
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp:277
¶void finalize(
llvm::jitlink::JITLinkMemoryManager::
InFlightAlloc::OnFinalizedFunction
OnFinalized)
void finalize(
llvm::jitlink::JITLinkMemoryManager::
InFlightAlloc::OnFinalizedFunction
OnFinalized)
Description
Called to transfer working memory to the target and apply finalization.
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp:241
Parameters
- llvm::jitlink::JITLinkMemoryManager:: InFlightAlloc::OnFinalizedFunction OnFinalized