|
LLVM 23.0.0git
|
#include "llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h"
Classes | |
| class | InFlightAlloc |
| struct | SymbolAddrs |
| Symbol addresses for memory management implementation. More... | |
| struct | SymbolNames |
| Symbol names 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, SymbolNames SNs=orc_rt_SimpleNativeMemoryMapSPSSymbols) |
| Create an EPCGenericJITLinkMemoryManager using the given implementation symbol names. | |
| static Expected< std::unique_ptr< EPCGenericJITLinkMemoryManager > > | Create (ExecutionSession &ES, SymbolNames SNs=orc_rt_SimpleNativeMemoryMapSPSSymbols) |
| Create an EPCGenericJITLinkMemoryManager using the given implementation symbol names. | |
Static Public Attributes | |
| static const SymbolNames | orc_rt_SimpleNativeMemoryMapSPSSymbols |
| Default symbol names for the ORC runtime's SimpleNativeMemoryMap SPS interface. | |
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 28 of file EPCGenericJITLinkMemoryManager.h.
|
inline |
Create an EPCGenericJITLinkMemoryManager instance from a given set of function addrs.
Definition at line 55 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 133 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 129 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 111 of file EPCGenericJITLinkMemoryManager.cpp.
References llvm::orc::EPCGenericJITLinkMemoryManager::SymbolNames::AllocatorName, llvm::orc::EPCGenericJITLinkMemoryManager::SymbolNames::DeinitializeName, llvm::orc::JITDylib::getExecutionSession(), llvm::orc::EPCGenericJITLinkMemoryManager::SymbolNames::InitializeName, llvm::orc::lookupAndRecordAddrs(), llvm::orc::makeJITDylibSearchOrder(), llvm::orc::EPCGenericJITLinkMemoryManager::SymbolNames::ReleaseName, llvm::orc::EPCGenericJITLinkMemoryManager::SymbolNames::ReserveName, and llvm::orc::Static.
Referenced by Create().
|
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 158 of file EPCGenericJITLinkMemoryManager.cpp.
References A(), and llvm::cantFail().
|
static |
Default symbol names for the ORC runtime's SimpleNativeMemoryMap SPS interface.
Definition at line 51 of file EPCGenericJITLinkMemoryManager.h.