LLVM 24.0.0git
llvm::orc::sps Namespace Reference

Classes

class  ProxySpec
class  ProxySpec< ProxyT, CI, RetT(ArgTs...)>

Typedefs

using CallMainProxySpec = ProxySpec<CallMainProxy, rt::sps_ci::CallMain>
 SPS proxy for CallMainProxy: runs a main-like function (int(int argc, char *argv[])) in the executor.
using CallVoidVoidProxySpec
 SPS proxy for CallVoidVoidProxy: runs a void() function in the executor.
using CallInt32VoidProxySpec
 SPS proxy for CallInt32VoidProxy: runs an int32_t() function in the executor.
using CallInt32Int32ProxySpec
 SPS proxy for CallInt32Int32Proxy: runs an int32_t(int32_t) function in the executor.
using DylibMgrOpenProxySpec
using DylibMgrResolveProxySpec
using MemWriteUInt8sProxySpec
using MemWriteUInt16sProxySpec
using MemWriteUInt32sProxySpec
using MemWriteUInt64sProxySpec
using MemWritePointersProxySpec
using MemWriteBuffersProxySpec
using MemReadUInt8sProxySpec
using MemReadUInt16sProxySpec
using MemReadUInt32sProxySpec
using MemReadUInt64sProxySpec
using MemReadPointersProxySpec
using MemReadBuffersProxySpec
using MemReadStringsProxySpec
using MemMgrReserveProxySpec
using MemMgrInitializeProxySpec
using MemMgrDeinitializeProxySpec
using MemMgrReleaseProxySpec

Functions

LLVM_ABI Expected< std::unique_ptr< EPCGenericDylibManager > > createEPCGenericDylibManager (JITDylib &JD)
 Create an EPCGenericDylibManager for the ORC runtime's NativeDylibManager interface, resolving its symbols in the given JITDylib.
LLVM_ABI Expected< std::unique_ptr< EPCGenericDylibManager > > createEPCGenericDylibManager (ExecutionSession &ES)
 Create an EPCGenericDylibManager for the ORC runtime's NativeDylibManager interface, resolving its symbols in the given ExecutionSession's bootstrap JITDylib.
LLVM_ABI Expected< std::unique_ptr< EPCGenericJITLinkMemoryManager > > createEPCGenericJITLinkMemoryManager (JITDylib &JD)
 Create an EPCGenericJITLinkMemoryManager for the ORC runtime's SimpleNativeMemoryMap interface, resolving its symbols in the given JITDylib.
LLVM_ABI Expected< std::unique_ptr< EPCGenericJITLinkMemoryManager > > createEPCGenericJITLinkMemoryManager (ExecutionSession &ES)
 Create an EPCGenericJITLinkMemoryManager for the ORC runtime's SimpleNativeMemoryMap interface, resolving its symbols in the given ExecutionSession's bootstrap JITDylib.
LLVM_ABI Expected< std::unique_ptr< EPCGenericMemoryAccess > > createEPCGenericMemoryAccess (JITDylib &JD)
 Create an EPCGenericMemoryAccess that reaches the memory-access wrappers in the given JITDylib via the runtime's SPS controller interface.
LLVM_ABI Expected< std::unique_ptr< EPCGenericMemoryAccess > > createEPCGenericMemoryAccess (ExecutionSession &ES)
 Create an EPCGenericMemoryAccess that reaches the memory-access wrappers in ES's bootstrap JITDylib via the runtime's SPS controller interface.
LLVM_ABI Expected< SimpleMemoryMapBindingscreateSimpleMemoryMapBindings (JITDylib &JD)
 Build bindings over the SPS controller interface, resolving the operations in the given JITDylib under the specs' default (SimpleNativeMemoryMap) names.
LLVM_ABI Expected< SimpleMemoryMapBindingscreateSimpleMemoryMapBindings (ExecutionSession &ES)
 As above, resolving the operations in ES's bootstrap JITDylib.

Typedef Documentation

◆ CallInt32Int32ProxySpec

Initial value:

SPS proxy for CallInt32Int32Proxy: runs an int32_t(int32_t) function in the executor.

WARNING: This Proxy is experimental and may be removed.

Definition at line 42 of file CallProxiesSPS.h.

◆ CallInt32VoidProxySpec

Initial value:

SPS proxy for CallInt32VoidProxy: runs an int32_t() function in the executor.

WARNING: This Proxy is experimental and may be removed.

Definition at line 36 of file CallProxiesSPS.h.

◆ CallMainProxySpec

SPS proxy for CallMainProxy: runs a main-like function (int(int argc, char *argv[])) in the executor.

Definition at line 26 of file CallProxiesSPS.h.

◆ CallVoidVoidProxySpec

Initial value:

SPS proxy for CallVoidVoidProxy: runs a void() function in the executor.

WARNING: This Proxy is experimental and may be removed.

Definition at line 30 of file CallProxiesSPS.h.

◆ DylibMgrOpenProxySpec

◆ DylibMgrResolveProxySpec

Initial value:
Proxy< Expected< tpctypes::LookupResult >( ExecutorAddr, ExecutorAddr, SymbolLookupSet)> ResolveProxy
Proxy for the executor-side symbol-resolution function.
Resolve the given lookup set within the given dylib.

Definition at line 35 of file EPCGenericDylibManagerSPS.h.

◆ MemMgrDeinitializeProxySpec

Initial value:
Proxy< Error(ExecutorAddr, ArrayRef< ExecutorAddr >)> DeinitializeProxy
Deinitialize the allocations with the given keys (running their deallocation actions) without releasi...
Deinitialize the allocations with the given base addresses (running their deallocation actions) witho...

Definition at line 36 of file SimpleMemoryMapSPS.h.

◆ MemMgrInitializeProxySpec

Initial value:
Proxy< Expected< ExecutorAddr >(ExecutorAddr, tpctypes::FinalizeRequest)> InitializeProxy
Apply a finalize request; returns a key for the initialized allocation.
Apply a finalize request; returns a key for the initialized allocation.

Definition at line 33 of file SimpleMemoryMapSPS.h.

◆ MemMgrReleaseProxySpec

◆ MemMgrReserveProxySpec

◆ MemReadBuffersProxySpec

◆ MemReadPointersProxySpec

◆ MemReadStringsProxySpec

◆ MemReadUInt16sProxySpec

◆ MemReadUInt32sProxySpec

◆ MemReadUInt64sProxySpec

◆ MemReadUInt8sProxySpec

◆ MemWriteBuffersProxySpec

◆ MemWritePointersProxySpec

◆ MemWriteUInt16sProxySpec

◆ MemWriteUInt32sProxySpec

◆ MemWriteUInt64sProxySpec

◆ MemWriteUInt8sProxySpec

Function Documentation

◆ createEPCGenericDylibManager() [1/2]

Expected< std::unique_ptr< EPCGenericDylibManager > > llvm::orc::sps::createEPCGenericDylibManager ( ExecutionSession & ES)

Create an EPCGenericDylibManager for the ORC runtime's NativeDylibManager interface, resolving its symbols in the given ExecutionSession's bootstrap JITDylib.

Definition at line 64 of file EPCGenericDylibManagerSPS.cpp.

References createEPCGenericDylibManager(), and llvm::orc::ExecutionSession::getBootstrapJITDylib().

◆ createEPCGenericDylibManager() [2/2]

◆ createEPCGenericJITLinkMemoryManager() [1/2]

Expected< std::unique_ptr< EPCGenericJITLinkMemoryManager > > llvm::orc::sps::createEPCGenericJITLinkMemoryManager ( ExecutionSession & ES)

Create an EPCGenericJITLinkMemoryManager for the ORC runtime's SimpleNativeMemoryMap interface, resolving its symbols in the given ExecutionSession's bootstrap JITDylib.

Definition at line 25 of file EPCGenericJITLinkMemoryManagerSPS.cpp.

References createEPCGenericJITLinkMemoryManager(), and llvm::orc::ExecutionSession::getBootstrapJITDylib().

◆ createEPCGenericJITLinkMemoryManager() [2/2]

Expected< std::unique_ptr< EPCGenericJITLinkMemoryManager > > llvm::orc::sps::createEPCGenericJITLinkMemoryManager ( JITDylib & JD)

◆ createEPCGenericMemoryAccess() [1/2]

Expected< std::unique_ptr< EPCGenericMemoryAccess > > llvm::orc::sps::createEPCGenericMemoryAccess ( ExecutionSession & ES)

Create an EPCGenericMemoryAccess that reaches the memory-access wrappers in ES's bootstrap JITDylib via the runtime's SPS controller interface.

Definition at line 41 of file EPCGenericMemoryAccessSPS.cpp.

References createEPCGenericMemoryAccess(), and llvm::orc::ExecutionSession::getBootstrapJITDylib().

◆ createEPCGenericMemoryAccess() [2/2]

◆ createSimpleMemoryMapBindings() [1/2]

Expected< SimpleMemoryMapBindings > llvm::orc::sps::createSimpleMemoryMapBindings ( ExecutionSession & ES)

As above, resolving the operations in ES's bootstrap JITDylib.

Definition at line 33 of file SimpleMemoryMapSPS.cpp.

References createSimpleMemoryMapBindings(), and llvm::orc::ExecutionSession::getBootstrapJITDylib().

◆ createSimpleMemoryMapBindings() [2/2]

Expected< SimpleMemoryMapBindings > llvm::orc::sps::createSimpleMemoryMapBindings ( JITDylib & JD)

Build bindings over the SPS controller interface, resolving the operations in the given JITDylib under the specs' default (SimpleNativeMemoryMap) names.

To bind a different executor-side implementation, use the specs above with recordProxy<Spec>(&P, Name) to resolve its own names instead.

Definition at line 16 of file SimpleMemoryMapSPS.cpp.

References B(), llvm::orc::lookupAndApply(), llvm::orc::recordAddr(), llvm::orc::recordProxy(), and llvm::orc::rt::sps_ci::SimpleNativeMemoryMapInstanceName.

Referenced by createEPCGenericJITLinkMemoryManager(), and createSimpleMemoryMapBindings().