18#ifndef LLVM_EXECUTIONENGINE_ORC_EPCGENERICJITLINKMEMORYMANAGER_H
19#define LLVM_EXECUTIONENGINE_ORC_EPCGENERICJITLINKMEMORYMANAGER_H
42 : EPC(EPC), SAs(SAs) {}
45 OnAllocatedFunction OnAllocated)
override;
48 using JITLinkMemoryManager::allocate;
50 void deallocate(std::vector<FinalizedAlloc> Allocs,
51 OnDeallocatedFunction OnDeallocated)
override;
54 using JITLinkMemoryManager::deallocate;
60 OnAllocatedFunction OnAllocated);
72 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.
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.