LLVM  14.0.0git
Namespaces | Classes | Typedefs | Functions
llvm::orc::shared Namespace Reference

Namespaces

 detail
 

Classes

class  MethodWrapperHandler
 A function object that takes an ExecutorAddr as its first argument, casts that address to a ClassT*, then calls the given method on that pointer passing in the remaining function arguments. More...
 
class  SPSArgList
 A utility class for serializing to a blob from a variadic list. More...
 
class  SPSArgList< SPSTagT, SPSTagTs... >
 
class  SPSArgList<>
 
class  SPSEmpty
 
class  SPSExecutorAddr
 SPS tag type for executor addresseses. More...
 
class  SPSExpected
 SPS tag type for expecteds, which are either a T or a string representing an error. More...
 
class  SPSInputBuffer
 Input char buffer with underflow check. More...
 
class  SPSMemoryProtectionFlags
 
class  SPSOutputBuffer
 Output char buffer with overflow check. More...
 
class  SPSSequence
 SPS tag type for sequences. More...
 
class  SPSSerializationTraits
 Specialize to describe how to serialize/deserialize to/from the given concrete type. More...
 
class  SPSSerializationTraits< SPSAllocationActionsPair, tpctypes::AllocationActionsPair >
 
class  SPSSerializationTraits< SPSELFJITDylibDeinitializers, ELFNixJITDylibDeinitializers >
 
class  SPSSerializationTraits< SPSELFNixJITDylibInitializers, ELFNixJITDylibInitializers >
 Serialization traits for ELFNixJITDylibInitializers. More...
 
class  SPSSerializationTraits< SPSELFPerObjectSectionsToRegister, ELFPerObjectSectionsToRegister >
 
class  SPSSerializationTraits< SPSEmpty, SPSEmpty >
 Serialization for SPSEmpty type. More...
 
class  SPSSerializationTraits< SPSError, detail::SPSSerializableError >
 Serialize to a SPSError from a detail::SPSSerializableError. More...
 
class  SPSSerializationTraits< SPSExecutorAddr, ExecutorAddr >
 SPS serializatior for ExecutorAddr. More...
 
class  SPSSerializationTraits< SPSExecutorAddr, jitlink::JITLinkMemoryManager::FinalizedAlloc >
 FIXME: This specialization should be moved into TargetProcessControlTypes.h (or whereever those types get merged to) once ORC depends on JITLink. More...
 
class  SPSSerializationTraits< SPSExecutorAddr, uint64_t >
 
class  SPSSerializationTraits< SPSExecutorAddrRange, ExecutorAddrRange >
 Serialization traits for address ranges. More...
 
class  SPSSerializationTraits< SPSExpected< SPSTagT >, detail::SPSSerializableError >
 Serialize to a SPSExpected<SPSTagT> from a detail::SPSSerializableError. More...
 
class  SPSSerializationTraits< SPSExpected< SPSTagT >, detail::SPSSerializableExpected< T > >
 Serialize to a SPSExpected<SPSTagT> from a detail::SPSSerializableExpected<T>. More...
 
class  SPSSerializationTraits< SPSExpected< SPSTagT >, T >
 Serialize to a SPSExpected<SPSTagT> from a T. More...
 
class  SPSSerializationTraits< SPSFinalizeRequest, tpctypes::FinalizeRequest >
 
class  SPSSerializationTraits< SPSMachOJITDylibDeinitializers, MachOJITDylibDeinitializers >
 
class  SPSSerializationTraits< SPSMachOJITDylibInitializers, MachOJITDylibInitializers >
 Serialization traits for MachOJITDylibInitializers. More...
 
class  SPSSerializationTraits< SPSMachOPerObjectSectionsToRegister, MachOPerObjectSectionsToRegister >
 
class  SPSSerializationTraits< SPSMemoryAccessBufferWrite, tpctypes::BufferWrite >
 
class  SPSSerializationTraits< SPSMemoryAccessUIntWrite< T >, tpctypes::UIntWrite< T > >
 
class  SPSSerializationTraits< SPSMemoryProtectionFlags, tpctypes::WireProtectionFlags >
 
class  SPSSerializationTraits< SPSRemoteSymbolLookup, ExecutorProcessControl::LookupRequest >
 
class  SPSSerializationTraits< SPSRemoteSymbolLookup, RemoteSymbolLookup >
 
class  SPSSerializationTraits< SPSRemoteSymbolLookupSetElement, RemoteSymbolLookupSetElement >
 
class  SPSSerializationTraits< SPSRemoteSymbolLookupSetElement, SymbolLookupSet::value_type >
 
class  SPSSerializationTraits< SPSSegFinalizeRequest, tpctypes::SegFinalizeRequest >
 
class  SPSSerializationTraits< SPSSequence< char >, ArrayRef< char > >
 Specialized SPSSequence<char> -> ArrayRef<char> serialization. More...
 
class  SPSSerializationTraits< SPSSequence< SPSElementTagT >, SequenceT, std::enable_if_t< TrivialSPSSequenceSerialization< SPSElementTagT, SequenceT >::available > >
 'Trivial' sequence serialization: Sequence is serialized as a uint64_t size followed by a for-earch loop over the elements of the sequence to serialize each of them. More...
 
class  SPSSerializationTraits< SPSSequence< SPSTuple< SPSString, SPSValueT > >, StringMap< ValueT > >
 Serialization for StringMap<ValueT>s. More...
 
class  SPSSerializationTraits< SPSSimpleRemoteEPCExecutorInfo, SimpleRemoteEPCExecutorInfo >
 
class  SPSSerializationTraits< SPSString, StringRef >
 Serialization for StringRefs. More...
 
class  SPSSerializationTraits< SPSSupportFunctionCall, tpctypes::SupportFunctionCall >
 
class  SPSSerializationTraits< SPSTagT, SPSTagT, std::enable_if_t< std::is_same< SPSTagT, bool >::value||std::is_same< SPSTagT, char >::value||std::is_same< SPSTagT, int8_t >::value||std::is_same< SPSTagT, int16_t >::value||std::is_same< SPSTagT, int32_t >::value||std::is_same< SPSTagT, int64_t >::value||std::is_same< SPSTagT, uint8_t >::value||std::is_same< SPSTagT, uint16_t >::value||std::is_same< SPSTagT, uint32_t >::value||std::is_same< SPSTagT, uint64_t >::value > >
 SPS serialization for integral types, bool, and char. More...
 
class  SPSSerializationTraits< SPSTuple< SPSTagT1, SPSTagT2 >, std::pair< T1, T2 > >
 SPSTuple serialization for std::pair. More...
 
class  SPSSerializationTraits< SPSTuple< SPSTagTs... >, std::tuple< Ts... > >
 SPSTuple serialization for std::tuple. More...
 
class  SPSTuple
 SPS tag type for tuples. More...
 
class  TrivialSPSSequenceDeserialization
 Specialize this to implement 'trivial' sequence deserialization for a concrete sequence type. More...
 
class  TrivialSPSSequenceDeserialization< char, std::string >
 Trivial SPSSequence<char> -> std::string deserialization. More...
 
class  TrivialSPSSequenceDeserialization< SPSElementTagT, std::vector< T > >
 Trivial SPSSequence<SPSElementTagT> -> std::vector<T> deserialization. More...
 
class  TrivialSPSSequenceSerialization
 Specialize this to implement 'trivial' sequence serialization for a concrete sequence type. More...
 
class  TrivialSPSSequenceSerialization< char, std::string >
 Trivial std::string -> SPSSequence<char> serialization. More...
 
class  TrivialSPSSequenceSerialization< SPSElementTagT, ArrayRef< T > >
 Trivial ArrayRef<T> -> SPSSequence<SPSElementTagT> serialization. More...
 
class  TrivialSPSSequenceSerialization< SPSElementTagT, std::vector< T > >
 Trivial std::vector<T> -> SPSSequence<SPSElementTagT> serialization. More...
 
class  TrivialSPSSequenceSerialization< SPSRemoteSymbolLookupSetElement, SymbolLookupSet >
 
class  WrapperFunction
 
class  WrapperFunction< SPSRetTagT(SPSTagTs...)>
 
class  WrapperFunction< void(SPSTagTs...)>
 
class  WrapperFunctionResult
 C++ wrapper function result: Same as CWrapperFunctionResult but auto-releases memory. More...
 

Typedefs

using SPSELFPerObjectSectionsToRegister = SPSTuple< SPSExecutorAddrRange, SPSExecutorAddrRange >
 
using SPSNamedExecutorAddrRangeSequenceMap = SPSSequence< SPSTuple< SPSString, SPSExecutorAddrRangeSequence > >
 
using SPSELFNixJITDylibInitializers = SPSTuple< SPSString, SPSExecutorAddr, SPSNamedExecutorAddrRangeSequenceMap >
 
using SPSELFNixJITDylibInitializerSequence = SPSSequence< SPSELFNixJITDylibInitializers >
 
using SPSELFJITDylibDeinitializers = SPSEmpty
 
using SPSELFJITDylibDeinitializerSequence = SPSSequence< SPSELFJITDylibDeinitializers >
 
using SPSMachOPerObjectSectionsToRegister = SPSTuple< SPSExecutorAddrRange, SPSExecutorAddrRange >
 
using SPSMachOJITDylibInitializers = SPSTuple< SPSString, SPSExecutorAddr, SPSExecutorAddr, SPSNamedExecutorAddrRangeSequenceMap >
 
using SPSMachOJITDylibInitializerSequence = SPSSequence< SPSMachOJITDylibInitializers >
 
using SPSMachOJITDylibDeinitializers = SPSEmpty
 
using SPSMachOJITDylibDeinitializerSequence = SPSSequence< SPSMachOJITDylibDeinitializers >
 
using SPSExecutorAddrRange = SPSTuple< SPSExecutorAddr, SPSExecutorAddr >
 
using SPSExecutorAddrRangeSequence = SPSSequence< SPSExecutorAddrRange >
 
using SPSString = SPSSequence< char >
 SPS tag type for strings, which are equivalent to sequences of chars. More...
 
template<typename SPSTagT1 , typename SPSTagT2 >
using SPSMap = SPSSequence< SPSTuple< SPSTagT1, SPSTagT2 > >
 SPS tag type for maps. More...
 
using SPSRemoteSymbolLookupSetElement = SPSTuple< SPSString, bool >
 
using SPSRemoteSymbolLookupSet = SPSSequence< SPSRemoteSymbolLookupSetElement >
 
using SPSRemoteSymbolLookup = SPSTuple< uint64_t, SPSRemoteSymbolLookupSet >
 
using SPSSimpleRemoteEPCExecutorInfo = SPSTuple< SPSString, uint64_t, SPSSequence< SPSTuple< SPSString, SPSExecutorAddr > >>
 Tuple containing target triple, page size, and bootstrap symbols. More...
 
using SPSLoadDylibSignature = SPSExpected< SPSExecutorAddr >(SPSExecutorAddr, SPSString, uint64_t)
 
using SPSLookupSymbolsSignature = SPSExpected< SPSSequence< SPSSequence< SPSExecutorAddr > >>(SPSExecutorAddr, SPSSequence< SPSRemoteSymbolLookup >)
 
using SPSSupportFunctionCall = SPSTuple< SPSExecutorAddr, SPSExecutorAddr, uint64_t >
 
using SPSSegFinalizeRequest = SPSTuple< SPSMemoryProtectionFlags, SPSExecutorAddr, uint64_t, SPSSequence< char > >
 
using SPSAllocationActionsPair = SPSTuple< SPSSupportFunctionCall, SPSSupportFunctionCall >
 
using SPSFinalizeRequest = SPSTuple< SPSSequence< SPSSegFinalizeRequest >, SPSSequence< SPSAllocationActionsPair > >
 
template<typename T >
using SPSMemoryAccessUIntWrite = SPSTuple< SPSExecutorAddr, T >
 
using SPSMemoryAccessUInt8Write = SPSMemoryAccessUIntWrite< uint8_t >
 
using SPSMemoryAccessUInt16Write = SPSMemoryAccessUIntWrite< uint16_t >
 
using SPSMemoryAccessUInt32Write = SPSMemoryAccessUIntWrite< uint32_t >
 
using SPSMemoryAccessUInt64Write = SPSMemoryAccessUIntWrite< uint64_t >
 
using SPSMemoryAccessBufferWrite = SPSTuple< SPSExecutorAddr, SPSSequence< char > >
 

Functions

template<typename RetT , typename ClassT , typename... ArgTs>
MethodWrapperHandler< RetT, ClassT, ArgTs... > makeMethodWrapperHandler (RetT(ClassT::*Method)(ArgTs...))
 Create a MethodWrapperHandler object from the given method pointer. More...
 

Typedef Documentation

◆ SPSAllocationActionsPair

Definition at line 160 of file TargetProcessControlTypes.h.

◆ SPSELFJITDylibDeinitializers

Definition at line 303 of file ELFNixPlatform.h.

◆ SPSELFJITDylibDeinitializerSequence

Definition at line 306 of file ELFNixPlatform.h.

◆ SPSELFNixJITDylibInitializers

Definition at line 275 of file ELFNixPlatform.h.

◆ SPSELFNixJITDylibInitializerSequence

Definition at line 278 of file ELFNixPlatform.h.

◆ SPSELFPerObjectSectionsToRegister

Definition at line 246 of file ELFNixPlatform.h.

◆ SPSExecutorAddrRange

Definition at line 183 of file ExecutorAddress.h.

◆ SPSExecutorAddrRangeSequence

Definition at line 205 of file ExecutorAddress.h.

◆ SPSFinalizeRequest

Definition at line 163 of file TargetProcessControlTypes.h.

◆ SPSLoadDylibSignature

Definition at line 225 of file SimpleRemoteEPCUtils.h.

◆ SPSLookupSymbolsSignature

Definition at line 229 of file SimpleRemoteEPCUtils.h.

◆ SPSMachOJITDylibDeinitializers

Definition at line 312 of file MachOPlatform.h.

◆ SPSMachOJITDylibDeinitializerSequence

Definition at line 315 of file MachOPlatform.h.

◆ SPSMachOJITDylibInitializers

Definition at line 281 of file MachOPlatform.h.

◆ SPSMachOJITDylibInitializerSequence

Definition at line 284 of file MachOPlatform.h.

◆ SPSMachOPerObjectSectionsToRegister

Definition at line 251 of file MachOPlatform.h.

◆ SPSMap

template<typename SPSTagT1 , typename SPSTagT2 >
using llvm::orc::shared::SPSMap = typedef SPSSequence<SPSTuple<SPSTagT1, SPSTagT2> >

SPS tag type for maps.

SPS maps are just sequences of (Key, Value) tuples.

Definition at line 209 of file SimplePackedSerialization.h.

◆ SPSMemoryAccessBufferWrite

Definition at line 173 of file TargetProcessControlTypes.h.

◆ SPSMemoryAccessUInt16Write

Definition at line 169 of file TargetProcessControlTypes.h.

◆ SPSMemoryAccessUInt32Write

Definition at line 170 of file TargetProcessControlTypes.h.

◆ SPSMemoryAccessUInt64Write

Definition at line 171 of file TargetProcessControlTypes.h.

◆ SPSMemoryAccessUInt8Write

Definition at line 168 of file TargetProcessControlTypes.h.

◆ SPSMemoryAccessUIntWrite

template<typename T >
using llvm::orc::shared::SPSMemoryAccessUIntWrite = typedef SPSTuple<SPSExecutorAddr, T>

Definition at line 166 of file TargetProcessControlTypes.h.

◆ SPSNamedExecutorAddrRangeSequenceMap

Definition at line 272 of file ELFNixPlatform.h.

◆ SPSRemoteSymbolLookup

Definition at line 159 of file SimpleRemoteEPCUtils.h.

◆ SPSRemoteSymbolLookupSet

Definition at line 157 of file SimpleRemoteEPCUtils.h.

◆ SPSRemoteSymbolLookupSetElement

Definition at line 155 of file SimpleRemoteEPCUtils.h.

◆ SPSSegFinalizeRequest

Definition at line 157 of file TargetProcessControlTypes.h.

◆ SPSSimpleRemoteEPCExecutorInfo

Tuple containing target triple, page size, and bootstrap symbols.

Definition at line 164 of file SimpleRemoteEPCUtils.h.

◆ SPSString

SPS tag type for strings, which are equivalent to sequences of chars.

Definition at line 196 of file SimplePackedSerialization.h.

◆ SPSSupportFunctionCall

Definition at line 153 of file TargetProcessControlTypes.h.

Function Documentation

◆ makeMethodWrapperHandler()

template<typename RetT , typename ClassT , typename... ArgTs>
MethodWrapperHandler<RetT, ClassT, ArgTs...> llvm::orc::shared::makeMethodWrapperHandler ( RetT(ClassT::*)(ArgTs...)  Method)

Create a MethodWrapperHandler object from the given method pointer.

Definition at line 614 of file WrapperFunctionUtils.h.