18#ifndef LLVM_EXECUTIONENGINE_ORC_EPCGENERICJITLINKMEMORYMANAGER_H
19#define LLVM_EXECUTIONENGINE_ORC_EPCGENERICJITLINKMEMORYMANAGER_H
56 : EPC(EPC), SAs(SAs) {}
62 SymbolNames SNs = orc_rt_SimpleNativeMemoryMapSPSSymbols);
69 SymbolNames SNs = orc_rt_SimpleNativeMemoryMapSPSSymbols);
72 OnAllocatedFunction OnAllocated)
override;
75 using JITLinkMemoryManager::allocate;
77 void deallocate(std::vector<FinalizedAlloc> Allocs,
78 OnDeallocatedFunction OnDeallocated)
override;
81 using JITLinkMemoryManager::deallocate;
87 OnAllocatedFunction OnAllocated);
99 jitlink::JITLinkMemoryManager::FinalizedAlloc> {
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
Tagged union holding either a T or a Error.
StringRef - Represent a constant reference to a string, i.e.
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.
static const SymbolNames orc_rt_SimpleNativeMemoryMapSPSSymbols
Default symbol names for the ORC runtime's SimpleNativeMemoryMap SPS interface.
An ExecutionSession represents a running JIT program.
Represents an address in the executor process.
ExecutorProcessControl supports interaction with a JIT target process.
Represents a JIT'd dynamic library.
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.
Symbol addresses for memory management implementation.
ExecutorAddr Deinitialize
Symbol names for memory management implementation.
StringRef DeinitializeName