LLVM 20.0.0git
|
#include "llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h"
Classes | |
class | InFlightAlloc |
struct | SymbolAddrs |
Function addresses for memory access. More... | |
Public Member Functions | |
EPCGenericJITLinkMemoryManager (ExecutorProcessControl &EPC, SymbolAddrs SAs) | |
Create an EPCGenericJITLinkMemoryManager instance from a given set of function addrs. | |
void | allocate (const jitlink::JITLinkDylib *JD, jitlink::LinkGraph &G, OnAllocatedFunction OnAllocated) override |
Start the allocation process. | |
void | deallocate (std::vector< FinalizedAlloc > Allocs, OnDeallocatedFunction OnDeallocated) override |
Deallocate a list of allocation objects. | |
Public Member Functions inherited from llvm::jitlink::JITLinkMemoryManager | |
virtual | ~JITLinkMemoryManager () |
virtual void | allocate (const JITLinkDylib *JD, LinkGraph &G, OnAllocatedFunction OnAllocated)=0 |
Start the allocation process. | |
AllocResult | allocate (const JITLinkDylib *JD, LinkGraph &G) |
Convenience function for blocking allocation. | |
virtual void | deallocate (std::vector< FinalizedAlloc > Allocs, OnDeallocatedFunction OnDeallocated)=0 |
Deallocate a list of allocation objects. | |
void | deallocate (FinalizedAlloc Alloc, OnDeallocatedFunction OnDeallocated) |
Convenience function for deallocation of a single alloc. | |
Error | deallocate (std::vector< FinalizedAlloc > Allocs) |
Convenience function for blocking deallocation. | |
Error | deallocate (FinalizedAlloc Alloc) |
Convenience function for blocking deallocation of a single alloc. | |
Additional Inherited Members | |
Public Types inherited from llvm::jitlink::JITLinkMemoryManager | |
using | AllocResult = Expected< std::unique_ptr< InFlightAlloc > > |
Typedef for the argument to be passed to OnAllocatedFunction. | |
using | OnAllocatedFunction = unique_function< void(AllocResult)> |
Called when allocation has been completed. | |
using | OnDeallocatedFunction = unique_function< void(Error)> |
Called when deallocation has completed. | |
Definition at line 27 of file EPCGenericJITLinkMemoryManager.h.
|
inline |
Create an EPCGenericJITLinkMemoryManager instance from a given set of function addrs.
Definition at line 39 of file EPCGenericJITLinkMemoryManager.h.
|
overridevirtual |
Start the allocation process.
If the initial allocation is successful then the OnAllocated function will be called with a std::unique_ptr<InFlightAlloc> value. If the assocation is unsuccessful then the OnAllocated function will be called with an Error.
Implements llvm::jitlink::JITLinkMemoryManager.
Definition at line 99 of file EPCGenericJITLinkMemoryManager.cpp.
References llvm::orc::EPCGenericJITLinkMemoryManager::SymbolAddrs::Allocator, llvm::orc::ExecutorProcessControl::callSPSWrapperAsync(), llvm::cantFail(), G, llvm::orc::ExecutorProcessControl::getPageSize(), and llvm::orc::EPCGenericJITLinkMemoryManager::SymbolAddrs::Reserve.
|
overridevirtual |
Deallocate a list of allocation objects.
Dealloc actions will be run in reverse order (from the end of the vector to the start).
Implements llvm::jitlink::JITLinkMemoryManager.
Definition at line 124 of file EPCGenericJITLinkMemoryManager.cpp.
References A, llvm::orc::EPCGenericJITLinkMemoryManager::SymbolAddrs::Allocator, llvm::orc::ExecutorProcessControl::callSPSWrapperAsync(), llvm::cantFail(), and llvm::orc::EPCGenericJITLinkMemoryManager::SymbolAddrs::Deallocate.