Go to the documentation of this file.
18 #ifndef LLVM_EXECUTIONENGINE_ORC_EPCGENERICJITLINKMEMORYMANAGER_H
19 #define LLVM_EXECUTIONENGINE_ORC_EPCGENERICJITLINKMEMORYMANAGER_H
40 : EPC(EPC), SAs(SAs) {}
46 using JITLinkMemoryManager::allocate;
48 void deallocate(std::vector<FinalizedAlloc> Allocs,
52 using JITLinkMemoryManager::deallocate;
70 jitlink::JITLinkMemoryManager::FinalizedAlloc> {
97 #endif // LLVM_EXECUTIONENGINE_ORC_EPCGENERICJITLINKMEMORYMANAGER_H
Represents an address in the executor process.
This is an optimization pass for GlobalISel generic memory operations.
Specialize to describe how to serialize/deserialize to/from the given concrete type.
Function addresses for memory access.
Output char buffer with overflow check.
static size_t size(const jitlink::JITLinkMemoryManager::FinalizedAlloc &FA)
static bool deserialize(SPSInputBuffer &IB, jitlink::JITLinkMemoryManager::FinalizedAlloc &FA)
ExecutorProcessControl supports interaction with a JIT target process.
Manages allocations of JIT memory.
EPCGenericJITLinkMemoryManager(ExecutorProcessControl &EPC, SymbolAddrs SAs)
Create an EPCGenericJITLinkMemoryManager instance from a given set of function addrs.
void deallocate(std::vector< FinalizedAlloc > Allocs, OnDeallocatedFunction OnDeallocated) override
Deallocate a list of allocation objects.
orc::ExecutorAddr getAddress() const
Returns the address associated with this finalized allocation.
void allocate(const jitlink::JITLinkDylib *JD, jitlink::LinkGraph &G, OnAllocatedFunction OnAllocated) override
Start the allocation process.
BasicLayout simplifies the implementation of JITLinkMemoryManagers.
static bool serialize(SPSOutputBuffer &OB, const jitlink::JITLinkMemoryManager::FinalizedAlloc &FA)
unique_function< void(AllocResult)> OnAllocatedFunction
Called when allocation has been completed.
Represents a finalized allocation.
unique_function< void(Error)> OnDeallocatedFunction
Called when deallocation has completed.
A utility class for serializing to a blob from a variadic list.