class SimpleSegmentAlloc
Declaration
class SimpleSegmentAlloc { /* full declaration omitted */ };
Description
A utility class for making simple allocations using JITLinkMemoryManager. SimpleSegementAlloc takes a mapping of AllocGroups to Segments and uses this to create a LinkGraph with one Section (containing one Block) per Segment. Clients can obtain a pointer to the working memory and executor address of that block using the Segment's AllocGroup. Once memory has been populated, clients can call finalize to finalize the memory.
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:294
Member Variables
- private std::unique_ptr<LinkGraph> G
- private AllocGroupSmallMap<llvm::jitlink::Block*> ContentBlocks
- private std::unique_ptr< JITLinkMemoryManager::InFlightAlloc> Alloc
Method Overview
- public static void Create(llvm::jitlink::JITLinkMemoryManager & MemMgr, const llvm::jitlink::JITLinkDylib * JD, llvm::jitlink::SimpleSegmentAlloc::SegmentMap Segments, llvm::jitlink::SimpleSegmentAlloc::OnCreatedFunction OnCreated)
- public static Expected<llvm::jitlink::SimpleSegmentAlloc> Create(llvm::jitlink::JITLinkMemoryManager & MemMgr, const llvm::jitlink::JITLinkDylib * JD, llvm::jitlink::SimpleSegmentAlloc::SegmentMap Segments)
- public SimpleSegmentAlloc(llvm::jitlink::SimpleSegmentAlloc &&)
- private SimpleSegmentAlloc(std::unique_ptr<LinkGraph> G, AllocGroupSmallMap<llvm::jitlink::Block *> ContentBlocks, std::unique_ptr<JITLinkMemoryManager::InFlightAlloc> Alloc)
- public void finalize(llvm::jitlink::SimpleSegmentAlloc::OnFinalizedFunction OnFinalized)
- public Expected<JITLinkMemoryManager::FinalizedAlloc> finalize()
- public llvm::jitlink::SimpleSegmentAlloc::SegmentInfo getSegInfo(llvm::jitlink::AllocGroup AG)
- public ~SimpleSegmentAlloc()
Methods
¶static void Create(
llvm::jitlink::JITLinkMemoryManager& MemMgr,
const llvm::jitlink::JITLinkDylib* JD,
llvm::jitlink::SimpleSegmentAlloc::SegmentMap
Segments,
llvm::jitlink::SimpleSegmentAlloc::
OnCreatedFunction OnCreated)
static void Create(
llvm::jitlink::JITLinkMemoryManager& MemMgr,
const llvm::jitlink::JITLinkDylib* JD,
llvm::jitlink::SimpleSegmentAlloc::SegmentMap
Segments,
llvm::jitlink::SimpleSegmentAlloc::
OnCreatedFunction OnCreated)
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:319
Parameters
- llvm::jitlink::JITLinkMemoryManager& MemMgr
- const llvm::jitlink::JITLinkDylib* JD
- llvm::jitlink::SimpleSegmentAlloc::SegmentMap Segments
- llvm::jitlink::SimpleSegmentAlloc:: OnCreatedFunction OnCreated
¶static Expected<llvm::jitlink::SimpleSegmentAlloc>
Create(
llvm::jitlink::JITLinkMemoryManager& MemMgr,
const llvm::jitlink::JITLinkDylib* JD,
llvm::jitlink::SimpleSegmentAlloc::SegmentMap
Segments)
static Expected<llvm::jitlink::SimpleSegmentAlloc>
Create(
llvm::jitlink::JITLinkMemoryManager& MemMgr,
const llvm::jitlink::JITLinkDylib* JD,
llvm::jitlink::SimpleSegmentAlloc::SegmentMap
Segments)
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:322
Parameters
- llvm::jitlink::JITLinkMemoryManager& MemMgr
- const llvm::jitlink::JITLinkDylib* JD
- llvm::jitlink::SimpleSegmentAlloc::SegmentMap Segments
¶SimpleSegmentAlloc(
llvm::jitlink::SimpleSegmentAlloc&&)
SimpleSegmentAlloc(
llvm::jitlink::SimpleSegmentAlloc&&)
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:326
Parameters
¶SimpleSegmentAlloc(
std::unique_ptr<LinkGraph> G,
AllocGroupSmallMap<llvm::jitlink::Block*>
ContentBlocks,
std::unique_ptr<
JITLinkMemoryManager::InFlightAlloc>
Alloc)
SimpleSegmentAlloc(
std::unique_ptr<LinkGraph> G,
AllocGroupSmallMap<llvm::jitlink::Block*>
ContentBlocks,
std::unique_ptr<
JITLinkMemoryManager::InFlightAlloc>
Alloc)
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:344
Parameters
- std::unique_ptr<LinkGraph> G
- AllocGroupSmallMap<llvm::jitlink::Block*> ContentBlocks
- std::unique_ptr< JITLinkMemoryManager::InFlightAlloc> Alloc
¶void finalize(llvm::jitlink::SimpleSegmentAlloc::
OnFinalizedFunction OnFinalized)
void finalize(llvm::jitlink::SimpleSegmentAlloc::
OnFinalizedFunction OnFinalized)
Description
Finalize all groups (async version).
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:334
Parameters
- llvm::jitlink::SimpleSegmentAlloc:: OnFinalizedFunction OnFinalized
¶Expected<JITLinkMemoryManager::FinalizedAlloc>
finalize()
Expected<JITLinkMemoryManager::FinalizedAlloc>
finalize()
Description
Finalize all groups.
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:339
¶llvm::jitlink::SimpleSegmentAlloc::SegmentInfo
getSegInfo(llvm::jitlink::AllocGroup AG)
llvm::jitlink::SimpleSegmentAlloc::SegmentInfo
getSegInfo(llvm::jitlink::AllocGroup AG)
Description
Returns the SegmentInfo for the given group.
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:331
Parameters
¶~SimpleSegmentAlloc()
~SimpleSegmentAlloc()
Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:328