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 DlfcnOpenProxySpec = ProxySpec<DlfcnOpenProxy, rt::sps_ci::DlfcnOpen>
 SPS proxy for DlfcnOpenProxy (dlopen).
using DlfcnUpdateProxySpec
 SPS proxy for DlfcnUpdateProxy (dlupdate).
using DlfcnCloseProxySpec = ProxySpec<DlfcnCloseProxy, rt::sps_ci::DlfcnClose>
 SPS proxy for DlfcnCloseProxy (dlclose).
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 SharedMemoryMapReserveProxySpec
 A ProxySpec per operation, pairing one of the bindings' proxies with its controller-interface descriptor in Shared/SPSCI/SharedMemoryMapperSPSCI.h, which supplies the wrapper name and wire signature.
using SharedMemoryMapInitializeProxySpec
using SharedMemoryMapDeinitializeProxySpec
using SharedMemoryMapReleaseProxySpec
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< SharedMemoryMapBindingscreateSharedMemoryMapBindings (JITDylib &JD)
 Build bindings over the SPS controller interface, resolving the operations in the given JITDylib under the specs' default names.
LLVM_ABI Expected< SharedMemoryMapBindingscreateSharedMemoryMapBindings (ExecutionSession &ES)
 As above, resolving the operations in ES's bootstrap JITDylib.
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.

◆ DlfcnCloseProxySpec

◆ DlfcnOpenProxySpec

SPS proxy for DlfcnOpenProxy (dlopen).

Definition at line 25 of file DlfcnSPS.h.

◆ DlfcnUpdateProxySpec

Initial value:

SPS proxy for DlfcnUpdateProxy (dlupdate).

Definition at line 28 of file DlfcnSPS.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

◆ SharedMemoryMapDeinitializeProxySpec

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

Definition at line 35 of file SharedMemoryMapSPS.h.

◆ SharedMemoryMapInitializeProxySpec

Initial value:
Proxy< Expected< ExecutorAddr >( ExecutorAddr, ExecutorAddr, tpctypes::SharedMemoryFinalizeRequest)> InitializeProxy
Apply a finalize request to the reservation with the given base; returns a key for the initialized al...

Definition at line 32 of file SharedMemoryMapSPS.h.

◆ SharedMemoryMapReleaseProxySpec

Initial value:

Definition at line 38 of file SharedMemoryMapSPS.h.

◆ SharedMemoryMapReserveProxySpec

Initial value:
Proxy< Expected< std::pair< ExecutorAddr, std::string > >( ExecutorAddr, uint64_t)> ReserveProxy
Reserve an address range of the given size; returns its base together with the name of the shared-mem...

A ProxySpec per operation, pairing one of the bindings' proxies with its controller-interface descriptor in Shared/SPSCI/SharedMemoryMapperSPSCI.h, which supplies the wrapper name and wire signature.

The specs are public so that clients can resolve the operations under non-default names, using recordProxy<Spec>(&P, Name) with lookupAndApply.

Definition at line 29 of file SharedMemoryMapSPS.h.

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]

◆ createSharedMemoryMapBindings() [1/2]

Expected< SharedMemoryMapBindings > llvm::orc::sps::createSharedMemoryMapBindings ( ExecutionSession & ES)

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

Definition at line 32 of file SharedMemoryMapSPS.cpp.

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

◆ createSharedMemoryMapBindings() [2/2]

Expected< SharedMemoryMapBindings > llvm::orc::sps::createSharedMemoryMapBindings ( JITDylib & JD)

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

Definition at line 16 of file SharedMemoryMapSPS.cpp.

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

Referenced by createSharedMemoryMapBindings().

◆ 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().