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

Namespaces

namespace  detail
namespace  sps
namespace  sps_ci

Classes

struct  MachOUnwindInfoRegistrarSymbolNames
 Symbol names for the ORC runtime's StandaloneMachOUnwindInfoRegistrar SPS interface. More...
class  Proxy
class  Proxy< RetT(ArgTs...)>
 Runtime-agnostic interface for invoking an executor-side operation with the signature RetT(ArgTs...). More...
class  ProxyBase
struct  ProxyInit

Typedefs

using CallMainProxy = Proxy<int64_t(ExecutorAddr, ArrayRef<std::string>)>
 Runtime-agnostic interface for running a main-like function (int(int argc, char *argv[])) in the executor.
using CallVoidVoidProxy = Proxy<void(ExecutorAddr)>
 Runtime-agnostic interface for running a void() function in the executor.
using CallInt32VoidProxy = Proxy<int32_t(ExecutorAddr)>
 Runtime-agnostic interface for running an int32_t() function in the executor.
using CallInt32Int32Proxy = Proxy<int32_t(ExecutorAddr, int32_t)>
 Runtime-agnostic interface for running an int32_t(int32_t) function in the executor.
using MemMgrReserveProxy
 Reserve an address range of the given size; returns its base.
using MemMgrInitializeProxy
 Apply a finalize request; returns a key for the initialized allocation.
using MemMgrDeinitializeProxy
 Deinitialize the allocations with the given base addresses (running their deallocation actions) without releasing their memory.
using MemMgrReleaseProxy = Proxy<Error(ExecutorAddr, ArrayRef<ExecutorAddr>)>
 Release the allocations with the given base addresses.
using MemWriteUInt8sProxy = Proxy<void(ArrayRef<tpctypes::UInt8Write>)>
using MemWriteUInt16sProxy = Proxy<void(ArrayRef<tpctypes::UInt16Write>)>
using MemWriteUInt32sProxy = Proxy<void(ArrayRef<tpctypes::UInt32Write>)>
using MemWriteUInt64sProxy = Proxy<void(ArrayRef<tpctypes::UInt64Write>)>
using MemWritePointersProxy = Proxy<void(ArrayRef<tpctypes::PointerWrite>)>
using MemWriteBuffersProxy = Proxy<void(ArrayRef<tpctypes::BufferWrite>)>
using MemReadUInt8sProxy = Proxy<std::vector<uint8_t>(ArrayRef<ExecutorAddr>)>
using MemReadUInt16sProxy
using MemReadUInt32sProxy
using MemReadUInt64sProxy
using MemReadPointersProxy
using MemReadBuffersProxy
using MemReadStringsProxy
using SPSSimpleExecutorMemoryManagerReserveSignature
using SPSSimpleExecutorMemoryManagerInitializeSignature
using SPSSimpleExecutorMemoryManagerDeinitializeSignature
using SPSSimpleExecutorMemoryManagerReleaseSignature
using SPSExecutorSharedMemoryMapperServiceReserveSignature
using SPSExecutorSharedMemoryMapperServiceInitializeSignature
using SPSExecutorSharedMemoryMapperServiceDeinitializeSignature
using SPSExecutorSharedMemoryMapperServiceReleaseSignature

Functions

template<typename FnT>
ProxyInit< FnTproxyInit (Proxy< FnT > *P, typename Proxy< FnT >::DispatchFn Dispatch, StringRef Name, SymbolLookupFlags LookupFlags=SymbolLookupFlags::RequiredSymbol)
template<typename ProxySpecT, typename FnT>
ProxyInit< FnTproxyInit (Proxy< FnT > *P, SymbolLookupFlags LookupFlags=SymbolLookupFlags::RequiredSymbol)
template<typename ProxySpecT, typename FnT>
ProxyInit< FnTproxyInit (Proxy< FnT > *P, StringRef Name, SymbolLookupFlags LookupFlags=SymbolLookupFlags::RequiredSymbol)
Error buildProxies (JITDylib &JD)
 buildProxies base case.
template<typename... FnTs>
Error buildProxies (ExecutionSession &ES, ProxyInit< FnTs >... PIs)
 buildProxies: Given an ExecutionSession, use BootstrapJITDylib.
template<typename FnT, typename... FnTs>
Error buildProxies (JITDylib &JD, ProxyInit< FnT > PI, ProxyInit< FnTs >... PIs)
 Build a sequence of proxies from their respective specs.

Variables

LLVM_ABI const charSimpleExecutorMemoryManagerInstanceName
LLVM_ABI const charSimpleExecutorMemoryManagerReserveWrapperName
LLVM_ABI const charSimpleExecutorMemoryManagerInitializeWrapperName
LLVM_ABI const charSimpleExecutorMemoryManagerDeinitializeWrapperName
LLVM_ABI const charSimpleExecutorMemoryManagerReleaseWrapperName
LLVM_ABI const charExecutorSharedMemoryMapperServiceInstanceName
LLVM_ABI const charExecutorSharedMemoryMapperServiceReserveWrapperName
LLVM_ABI const charExecutorSharedMemoryMapperServiceInitializeWrapperName
LLVM_ABI const charExecutorSharedMemoryMapperServiceDeinitializeWrapperName
LLVM_ABI const charExecutorSharedMemoryMapperServiceReleaseWrapperName
LLVM_ABI const charRegisterEHFrameSectionAllocActionName
LLVM_ABI const charDeregisterEHFrameSectionAllocActionName
LLVM_ABI const charRegisterJITLoaderGDBAllocActionName
LLVM_ABI const charDeregisterJITLoaderGDBAllocActionName
LLVM_ABI const char *const DispatchName = "__orc_rt_jit_dispatch"
LLVM_ABI const char *const DispatchCtxName = "__orc_rt_jit_dispatch_ctx"
const LLVM_ABI MachOUnwindInfoRegistrarSymbolNames orc_rt_MachOUnwindInfoRegistrarSPSSymbols
 Default symbol names for the ORC runtime's StandaloneMachOUnwindInfoRegistrar SPS interface.

Typedef Documentation

◆ CallInt32Int32Proxy

Runtime-agnostic interface for running an int32_t(int32_t) function in the executor.

The function to run is given by its ExecutorAddr.

WARNING: This Proxy is experimental and may be removed.

Definition at line 53 of file CallProxies.h.

◆ CallInt32VoidProxy

Runtime-agnostic interface for running an int32_t() function in the executor.

The function to run is given by its ExecutorAddr.

WARNING: This Proxy is experimental and may be removed.

Definition at line 45 of file CallProxies.h.

◆ CallMainProxy

using llvm::orc::rt::CallMainProxy = Proxy<int64_t(ExecutorAddr, ArrayRef<std::string>)>

Runtime-agnostic interface for running a main-like function (int(int argc, char *argv[])) in the executor.

The function to run is given by its ExecutorAddr, its arguments as an argument vector, and its int64_t result is returned.

Definition at line 30 of file CallProxies.h.

◆ CallVoidVoidProxy

Runtime-agnostic interface for running a void() function in the executor.

The function to run is given by its ExecutorAddr.

WARNING: This Proxy is experimental and may be removed.

Definition at line 37 of file CallProxies.h.

◆ MemMgrDeinitializeProxy

Initial value:
Represent a constant reference to an array (0 or more elements consecutively in memory),...
Definition ArrayRef.h:40
Represents an address in the executor process.

Deinitialize the allocations with the given base addresses (running their deallocation actions) without releasing their memory.

Definition at line 36 of file GenericMemoryManagerProxies.h.

◆ MemMgrInitializeProxy

Initial value:

Apply a finalize request; returns a key for the initialized allocation.

Definition at line 31 of file GenericMemoryManagerProxies.h.

◆ MemMgrReleaseProxy

Release the allocations with the given base addresses.

Definition at line 40 of file GenericMemoryManagerProxies.h.

◆ MemMgrReserveProxy

Initial value:

Reserve an address range of the given size; returns its base.

Definition at line 27 of file GenericMemoryManagerProxies.h.

◆ MemReadBuffersProxy

◆ MemReadPointersProxy

◆ MemReadStringsProxy

◆ MemReadUInt16sProxy

◆ MemReadUInt32sProxy

◆ MemReadUInt64sProxy

◆ MemReadUInt8sProxy

Definition at line 34 of file MemoryAccessProxies.h.

◆ MemWriteBuffersProxy

◆ MemWritePointersProxy

◆ MemWriteUInt16sProxy

◆ MemWriteUInt32sProxy

◆ MemWriteUInt64sProxy

◆ MemWriteUInt8sProxy

◆ SPSExecutorSharedMemoryMapperServiceDeinitializeSignature

◆ SPSExecutorSharedMemoryMapperServiceInitializeSignature

Initial value:
SPS tag type for expecteds, which are either a T or a string representing an error.
SPSTuple< SPSSequence< SPSSharedMemorySegFinalizeRequest >, SPSSequence< SPSAllocActionCallPair > > SPSSharedMemoryFinalizeRequest

Definition at line 76 of file OrcRTBridge.h.

◆ SPSExecutorSharedMemoryMapperServiceReleaseSignature

◆ SPSExecutorSharedMemoryMapperServiceReserveSignature

◆ SPSSimpleExecutorMemoryManagerDeinitializeSignature

◆ SPSSimpleExecutorMemoryManagerInitializeSignature

Initial value:
SPSTuple< SPSSequence< SPSSegFinalizeRequest >, SPSSequence< SPSAllocActionCallPair > > SPSFinalizeRequest

Definition at line 63 of file OrcRTBridge.h.

◆ SPSSimpleExecutorMemoryManagerReleaseSignature

◆ SPSSimpleExecutorMemoryManagerReserveSignature

Function Documentation

◆ buildProxies() [1/3]

template<typename... FnTs>
Error llvm::orc::rt::buildProxies ( ExecutionSession & ES,
ProxyInit< FnTs >... PIs )

buildProxies: Given an ExecutionSession, use BootstrapJITDylib.

Definition at line 192 of file Proxy.h.

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

◆ buildProxies() [2/3]

Error llvm::orc::rt::buildProxies ( JITDylib & JD)
inline

◆ buildProxies() [3/3]

template<typename FnT, typename... FnTs>
Error llvm::orc::rt::buildProxies ( JITDylib & JD,
ProxyInit< FnT > PI,
ProxyInit< FnTs >... PIs )

◆ proxyInit() [1/3]

template<typename ProxySpecT, typename FnT>
ProxyInit< FnT > llvm::orc::rt::proxyInit ( Proxy< FnT > * P,
StringRef Name,
SymbolLookupFlags LookupFlags = SymbolLookupFlags::RequiredSymbol )

Definition at line 182 of file Proxy.h.

References P, and llvm::orc::RequiredSymbol.

◆ proxyInit() [2/3]

template<typename ProxySpecT, typename FnT>
ProxyInit< FnT > llvm::orc::rt::proxyInit ( Proxy< FnT > * P,
SymbolLookupFlags LookupFlags = SymbolLookupFlags::RequiredSymbol )

Definition at line 175 of file Proxy.h.

References P, and llvm::orc::RequiredSymbol.

◆ proxyInit() [3/3]

Variable Documentation

◆ DeregisterEHFrameSectionAllocActionName

const char * llvm::orc::rt::DeregisterEHFrameSectionAllocActionName
Initial value:
=
"llvm_orc_deregisterEHFrameAllocAction"

Definition at line 39 of file OrcRTBridge.cpp.

Referenced by llvm::orc::addDefaultBootstrapValuesForHostProcess().

◆ DeregisterJITLoaderGDBAllocActionName

const char * llvm::orc::rt::DeregisterJITLoaderGDBAllocActionName
Initial value:
=
"orc_rt_ci_aa_sps_GDBJITRegistrar_deregister"

Definition at line 44 of file OrcRTBridge.cpp.

◆ DispatchCtxName

const char *const llvm::orc::rt::DispatchCtxName = "__orc_rt_jit_dispatch_ctx"

◆ DispatchName

const char *const llvm::orc::rt::DispatchName = "__orc_rt_jit_dispatch"

◆ ExecutorSharedMemoryMapperServiceDeinitializeWrapperName

const char * llvm::orc::rt::ExecutorSharedMemoryMapperServiceDeinitializeWrapperName
Initial value:
=
"__llvm_orc_ExecutorSharedMemoryMapperService_Deinitialize"

Definition at line 32 of file OrcRTBridge.cpp.

Referenced by llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::addBootstrapSymbols().

◆ ExecutorSharedMemoryMapperServiceInitializeWrapperName

const char * llvm::orc::rt::ExecutorSharedMemoryMapperServiceInitializeWrapperName
Initial value:
=
"__llvm_orc_ExecutorSharedMemoryMapperService_Initialize"

Definition at line 30 of file OrcRTBridge.cpp.

Referenced by llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::addBootstrapSymbols().

◆ ExecutorSharedMemoryMapperServiceInstanceName

const char * llvm::orc::rt::ExecutorSharedMemoryMapperServiceInstanceName
Initial value:
=
"__llvm_orc_ExecutorSharedMemoryMapperService_Instance"

Definition at line 26 of file OrcRTBridge.cpp.

Referenced by llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::addBootstrapSymbols().

◆ ExecutorSharedMemoryMapperServiceReleaseWrapperName

const char * llvm::orc::rt::ExecutorSharedMemoryMapperServiceReleaseWrapperName
Initial value:
=
"__llvm_orc_ExecutorSharedMemoryMapperService_Release"

Definition at line 34 of file OrcRTBridge.cpp.

Referenced by llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::addBootstrapSymbols().

◆ ExecutorSharedMemoryMapperServiceReserveWrapperName

const char * llvm::orc::rt::ExecutorSharedMemoryMapperServiceReserveWrapperName
Initial value:
=
"__llvm_orc_ExecutorSharedMemoryMapperService_Reserve"

Definition at line 28 of file OrcRTBridge.cpp.

Referenced by llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::addBootstrapSymbols().

◆ orc_rt_MachOUnwindInfoRegistrarSPSSymbols

const MachOUnwindInfoRegistrarSymbolNames llvm::orc::rt::orc_rt_MachOUnwindInfoRegistrarSPSSymbols
Initial value:
= {
"orc_rt_ci_aa_sps_MachOUnwindInfoRegistrar_registerSections",
"orc_rt_ci_aa_sps_MachOUnwindInfoRegistrar_deregisterSections"}

Default symbol names for the ORC runtime's StandaloneMachOUnwindInfoRegistrar SPS interface.

Definition at line 51 of file OrcRTBridge.cpp.

Referenced by llvm::orc::UnwindInfoManager::addBootstrapSymbols().

◆ RegisterEHFrameSectionAllocActionName

const char * llvm::orc::rt::RegisterEHFrameSectionAllocActionName
Initial value:
=
"llvm_orc_registerEHFrameAllocAction"

Definition at line 37 of file OrcRTBridge.cpp.

Referenced by llvm::orc::addDefaultBootstrapValuesForHostProcess().

◆ RegisterJITLoaderGDBAllocActionName

const char * llvm::orc::rt::RegisterJITLoaderGDBAllocActionName

◆ SimpleExecutorMemoryManagerDeinitializeWrapperName

const char * llvm::orc::rt::SimpleExecutorMemoryManagerDeinitializeWrapperName
Initial value:
=
"__llvm_orc_SimpleExecutorMemoryManager_deinitialize_wrapper"

Definition at line 21 of file OrcRTBridge.cpp.

Referenced by llvm::orc::rt_bootstrap::SimpleExecutorMemoryManager::addBootstrapSymbols().

◆ SimpleExecutorMemoryManagerInitializeWrapperName

const char * llvm::orc::rt::SimpleExecutorMemoryManagerInitializeWrapperName
Initial value:
=
"__llvm_orc_SimpleExecutorMemoryManager_initialize_wrapper"

Definition at line 19 of file OrcRTBridge.cpp.

Referenced by llvm::orc::rt_bootstrap::SimpleExecutorMemoryManager::addBootstrapSymbols().

◆ SimpleExecutorMemoryManagerInstanceName

const char * llvm::orc::rt::SimpleExecutorMemoryManagerInstanceName
Initial value:
=
"__llvm_orc_SimpleExecutorMemoryManager_Instance"

Definition at line 15 of file OrcRTBridge.cpp.

Referenced by llvm::orc::rt_bootstrap::SimpleExecutorMemoryManager::addBootstrapSymbols().

◆ SimpleExecutorMemoryManagerReleaseWrapperName

const char * llvm::orc::rt::SimpleExecutorMemoryManagerReleaseWrapperName
Initial value:
=
"__llvm_orc_SimpleExecutorMemoryManager_release_wrapper"

Definition at line 23 of file OrcRTBridge.cpp.

Referenced by llvm::orc::rt_bootstrap::SimpleExecutorMemoryManager::addBootstrapSymbols().

◆ SimpleExecutorMemoryManagerReserveWrapperName

const char * llvm::orc::rt::SimpleExecutorMemoryManagerReserveWrapperName
Initial value:
=
"__llvm_orc_SimpleExecutorMemoryManager_reserve_wrapper"

Definition at line 17 of file OrcRTBridge.cpp.

Referenced by llvm::orc::rt_bootstrap::SimpleExecutorMemoryManager::addBootstrapSymbols().