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> {
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
BasicLayout simplifies the implementation of JITLinkMemoryManagers.
Represents a finalized allocation.
orc::ExecutorAddr getAddress() const
Returns the address associated with this finalized allocation.
Manages allocations of JIT memory.
unique_function< void(AllocResult)> OnAllocatedFunction
Called when allocation has been completed.
unique_function< void(Error)> OnDeallocatedFunction
Called when deallocation has completed.
void deallocate(std::vector< FinalizedAlloc > Allocs, OnDeallocatedFunction OnDeallocated) override
Deallocate a list of allocation objects.
void allocate(const jitlink::JITLinkDylib *JD, jitlink::LinkGraph &G, OnAllocatedFunction OnAllocated) override
Start the allocation process.
EPCGenericJITLinkMemoryManager(ExecutorProcessControl &EPC, SymbolAddrs SAs)
Create an EPCGenericJITLinkMemoryManager instance from a given set of function addrs.
Represents an address in the executor process.
ExecutorProcessControl supports interaction with a JIT target process.
A utility class for serializing to a blob from a variadic list.
Output char buffer with overflow check.
static bool deserialize(SPSInputBuffer &IB, jitlink::JITLinkMemoryManager::FinalizedAlloc &FA)
static size_t size(const jitlink::JITLinkMemoryManager::FinalizedAlloc &FA)
static bool serialize(SPSOutputBuffer &OB, const jitlink::JITLinkMemoryManager::FinalizedAlloc &FA)
Specialize to describe how to serialize/deserialize to/from the given concrete type.
This is an optimization pass for GlobalISel generic memory operations.
Function addresses for memory access.