|
LLVM 23.0.0git
|
#include "llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h"
Classes | |
| class | InFlightAlloc |
| struct | SymbolAddrs |
| Symbol addresses for memory management implementation. 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 () |
| AllocResult | allocate (const JITLinkDylib *JD, LinkGraph &G) |
| Convenience function for blocking allocation. | |
| 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. | |
Static Public Member Functions | |
| static Expected< std::unique_ptr< EPCGenericJITLinkMemoryManager > > | Create (JITDylib &JD, rt::SimpleExecutorMemoryManagerSymbolNames SNs=rt::orc_rt_SimpleNativeMemoryMapSPSSymbols) |
| Create an EPCGenericJITLinkMemoryManager using the given implementation symbol names. | |
| static Expected< std::unique_ptr< EPCGenericJITLinkMemoryManager > > | Create (ExecutionSession &ES, rt::SimpleExecutorMemoryManagerSymbolNames SNs=rt::orc_rt_SimpleNativeMemoryMapSPSSymbols) |
| Create an EPCGenericJITLinkMemoryManager using the given implementation symbol names. | |
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 29 of file EPCGenericJITLinkMemoryManager.h.
|
inline |
Create an EPCGenericJITLinkMemoryManager instance from a given set of function addrs.
Definition at line 43 of file EPCGenericJITLinkMemoryManager.h.
Referenced by llvm::orc::EPCGenericJITLinkMemoryManager::InFlightAlloc::InFlightAlloc().
|
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 126 of file EPCGenericJITLinkMemoryManager.cpp.
References llvm::cantFail(), G, and llvm::jitlink::BasicLayout::getContiguousPageBasedLayoutSizes().
|
static |
Create an EPCGenericJITLinkMemoryManager using the given implementation symbol names.
These will be looked up in the given ExecutionSession's Bootstrap JITDylib.
Definition at line 121 of file EPCGenericJITLinkMemoryManager.cpp.
References Create(), and llvm::orc::ExecutionSession::getBootstrapJITDylib().
|
static |
Create an EPCGenericJITLinkMemoryManager using the given implementation symbol names.
These will be looked up in the given JITDylib.
Definition at line 102 of file EPCGenericJITLinkMemoryManager.cpp.
References llvm::orc::rt::SimpleExecutorMemoryManagerSymbolNames::AllocatorName, llvm::orc::rt::SimpleExecutorMemoryManagerSymbolNames::DeinitializeName, llvm::orc::JITDylib::getExecutionSession(), llvm::orc::rt::SimpleExecutorMemoryManagerSymbolNames::InitializeName, llvm::orc::lookupAndRecordAddrs(), llvm::orc::makeJITDylibSearchOrder(), llvm::orc::rt::SimpleExecutorMemoryManagerSymbolNames::ReleaseName, llvm::orc::rt::SimpleExecutorMemoryManagerSymbolNames::ReserveName, and llvm::orc::Static.
Referenced by Create(), and llvm::orc::SimpleRemoteEPC::createDefaultMemoryManager().
|
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 151 of file EPCGenericJITLinkMemoryManager.cpp.
References A(), and llvm::cantFail().