LLVM: llvm::orc::shared Namespace Reference (original) (raw)

Classes
struct AllocActionCallPair
A pair of WrapperFunctionCalls, one to be run at finalization time, one to be run at deallocation time. More...
struct CWrapperFunctionResult
union CWrapperFunctionResultDataUnion
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
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 SPSOptional
SPS tag type for optionals. More...
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< SPSAllocActionCallPair, AllocActionCallPair >
class SPSSerializationTraits< SPSBloomFilter, BloomFilter >
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 wherever those types get merged to) once ORC depends on JITLink. More...
class SPSSerializationTraits< SPSExecutorAddrRange, ExecutorAddrRange >
Serialization traits for address ranges. More...
class SPSSerializationTraits< SPSExecutorSymbolDef, ExecutorSymbolDef >
SPS serializatior for ExecutorSymbolDef. More...
class SPSSerializationTraits< SPSExpected< SPSTagT >, detail::SPSSerializableError >
Serialize to a SPSExpected from a detail::SPSSerializableError. More...
class SPSSerializationTraits< SPSExpected< SPSTagT >, detail::SPSSerializableExpected< T > >
Serialize to a SPSExpected from a detail::SPSSerializableExpected. More...
class SPSSerializationTraits< SPSExpected< SPSTagT >, T >
Serialize to a SPSExpected from a T. More...
class SPSSerializationTraits< SPSFinalizeRequest, tpctypes::FinalizeRequest >
class SPSSerializationTraits< SPSJITSymbolFlags, JITSymbolFlags >
SPS serializatior for JITSymbolFlags. More...
class SPSSerializationTraits< SPSMachOExecutorSymbolFlags, MachOPlatform::MachOExecutorSymbolFlags >
class SPSSerializationTraits< SPSMachOJITDylibDepInfo, MachOPlatform::MachOJITDylibDepInfo >
class SPSSerializationTraits< SPSMemoryAccessBufferWrite, tpctypes::BufferWrite >
class SPSSerializationTraits< SPSMemoryAccessPointerWrite, tpctypes::PointerWrite >
class SPSSerializationTraits< SPSMemoryAccessUIntWrite< T >, tpctypes::UIntWrite< T > >
class SPSSerializationTraits< SPSOptional< SPSTagT >, std::optional< T > >
SPSOptional serialization for std::optional. More...
class SPSSerializationTraits< SPSPerfJITCodeLoadRecord, PerfJITCodeLoadRecord >
class SPSSerializationTraits< SPSPerfJITCodeUnwindingInfoRecord, PerfJITCodeUnwindingInfoRecord >
class SPSSerializationTraits< SPSPerfJITDebugEntry, PerfJITDebugEntry >
class SPSSerializationTraits< SPSPerfJITDebugInfoRecord, PerfJITDebugInfoRecord >
class SPSSerializationTraits< SPSPerfJITRecordBatch, PerfJITRecordBatch >
class SPSSerializationTraits< SPSPerfJITRecordPrefix, PerfJITRecordPrefix >
class SPSSerializationTraits< SPSRemoteAllocGroup, tpctypes::RemoteAllocGroup >
class SPSSerializationTraits< SPSRemoteSymbolLookup, DylibManager::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 -> ArrayRef 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](classllvm%5F1%5F1StringMap.html "StringMap - This is an unconventional map that is specialized for handling keys that are "strings",...")s. More...
class SPSSerializationTraits< SPSSharedMemoryFinalizeRequest, tpctypes::SharedMemoryFinalizeRequest >
class SPSSerializationTraits< SPSSharedMemorySegFinalizeRequest, tpctypes::SharedMemorySegFinalizeRequest >
class SPSSerializationTraits< SPSSimpleRemoteEPCExecutorInfo, SimpleRemoteEPCExecutorInfo >
class SPSSerializationTraits< SPSString, StringRef >
Serialization for StringRefs. More...
class [SPSSerializationTraits< SPSTagT, SPSTagT, std::enable_if_t< std::is_same< SPSTagT, bool >::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 SPSSerializationTraits< SPSVTuneMethodBatch, VTuneMethodBatch >
class SPSSerializationTraits< SPSVTuneMethodInfo, VTuneMethodInfo >
class SPSSerializationTraits< SPSWrapperFunctionCall, WrapperFunctionCall >
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 -> std::string deserialization. More...
class TrivialSPSSequenceDeserialization< SPSElementTagT, SmallVector< T, N > >
Trivial SPSSequence -> SmallVectorImpl deserialization. More...
class TrivialSPSSequenceDeserialization< SPSElementTagT, SmallVectorImpl< T > >
Trivial SPSSequence -> SmallVectorImpl deserialization. More...
class TrivialSPSSequenceDeserialization< SPSElementTagT, std::vector< T > >
Trivial SPSSequence -> std::vector 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 serialization. More...
class TrivialSPSSequenceSerialization< SPSElementTagT, ArrayRef< T > >
Trivial ArrayRef -> SPSSequence serialization. More...
class TrivialSPSSequenceSerialization< SPSElementTagT, SmallVector< T, N > >
Trivial SmallVectorImpl -> SPSSequence serialization. More...
class TrivialSPSSequenceSerialization< SPSElementTagT, SmallVectorImpl< T > >
Trivial SmallVectorImpl -> SPSSequence serialization. More...
class TrivialSPSSequenceSerialization< SPSElementTagT, std::vector< T > >
Trivial std::vector -> SPSSequence serialization. More...
class TrivialSPSSequenceSerialization< SPSRemoteSymbolLookupSetElement, SymbolLookupSet >
class WrapperFunction
class WrapperFunction< SPSRetTagT(SPSTagTs...)>
class WrapperFunction< void(SPSTagTs...)>
class WrapperFunctionCall
Represents a serialized wrapper function call. More...
class WrapperFunctionResult
C++ wrapper function result: Same as CWrapperFunctionResult but auto-releases memory. More...
Typedefs
using SPSELFPerObjectSectionsToRegister
using SPSELFNixJITDylibDepInfoMap
using AllocActions = std::vector<AllocActionCallPair>
A vector of allocation actions to be run for this allocation.
using SPSAllocActionCallPair
using SPSExecutorAddrRange = SPSTuple<SPSExecutorAddr, SPSExecutorAddr>
using SPSExecutorAddrRangeSequence = SPSSequence<SPSExecutorAddrRange>
using SPSJITSymbolFlags
using SPSExecutorSymbolDef = SPSTuple<SPSExecutorAddr, SPSJITSymbolFlags>
using SPSPerfJITRecordPrefix = SPSTuple<uint32_t, uint32_t>
using SPSPerfJITCodeLoadRecord
using SPSPerfJITDebugEntry = SPSTuple<uint64_t, uint32_t, uint32_t, SPSString>
using SPSPerfJITDebugInfoRecord
using SPSPerfJITCodeUnwindingInfoRecord
using SPSPerfJITRecordBatch
using SPSString = SPSSequence<char>
SPS tag type for strings, which are equivalent to sequences of chars.
template<typename SPSTagT1, typename SPSTagT2>
using SPSMap = SPSSequence<SPSTuple<SPSTagT1, SPSTagT2>>
SPS tag type for maps.
using SPSRemoteSymbolLookupSetElement = SPSTuple<SPSString, bool>
using SPSRemoteSymbolLookupSet = SPSSequence<SPSRemoteSymbolLookupSetElement>
using SPSRemoteSymbolLookup = SPSTuple<uint64_t, SPSRemoteSymbolLookupSet>
using SPSSimpleRemoteEPCExecutorInfo
Tuple containing target triple, page size, and bootstrap symbols.
using SPSLoadDylibSignature
using SPSLookupSymbolsSignature
using SPSBloomFilter
using SPSSegFinalizeRequest
using SPSFinalizeRequest
using SPSSharedMemorySegFinalizeRequest
using SPSSharedMemoryFinalizeRequest
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>>
using SPSMemoryAccessPointerWrite = SPSTuple<SPSExecutorAddr, SPSExecutorAddr>
using SPSVTuneLineTable = SPSSequence<SPSTuple<uint32_t, uint32_t>>
using SPSVTuneMethodInfo
using SPSVTuneMethodTable = SPSSequence<SPSVTuneMethodInfo>
using SPSVTuneStringTable = SPSSequence<SPSString>
using SPSVTuneMethodBatch = SPSTuple<SPSVTuneMethodTable, SPSVTuneStringTable>
using SPSVTuneUnloadedMethodIDs = SPSSequence<SPSTuple<uint64_t, uint64_t>>
using SPSWrapperFunctionCall = SPSTuple<SPSExecutorAddr, SPSSequence<char>>
using SPSCOFFJITDylibDepInfo = SPSSequence<SPSExecutorAddr>
using SPSCOFFJITDylibDepInfoMap
using SPSCOFFObjectSectionsMap
using SPSCOFFRegisterObjectSectionsArgs
using SPSCOFFDeregisterObjectSectionsArgs
using SPSMachOJITDylibDepInfo = SPSTuple<bool, SPSSequence<SPSExecutorAddr>>
using SPSMachOJITDylibDepInfoMap
Functions
size_t numDeallocActions (const AllocActions &AAs)
Returns the number of deallocaton actions in the given AllocActions array.
LLVM_ABI Expected< std::vector< WrapperFunctionCall > > runFinalizeActions (AllocActions &AAs)
Run finalize actions.
LLVM_ABI Error runDeallocActions (ArrayRef< WrapperFunctionCall > DAs)
Run deallocation actions.
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.

AllocActions

A vector of allocation actions to be run for this allocation.

Finalize allocations will be run in order at finalize time. Dealloc actions will be run in reverse order at deallocation time.

Definition at line 45 of file AllocationActions.h.

SPSAllocActionCallPair

SPSBloomFilter

SPSCOFFDeregisterObjectSectionsArgs

SPSCOFFJITDylibDepInfo

SPSCOFFJITDylibDepInfoMap

SPSCOFFObjectSectionsMap

SPSCOFFRegisterObjectSectionsArgs

SPSELFNixJITDylibDepInfoMap

SPSELFPerObjectSectionsToRegister

SPSExecutorAddrRange

SPSExecutorAddrRangeSequence

SPSExecutorSymbolDef

SPSFinalizeRequest

SPSJITSymbolFlags

SPSLoadDylibSignature

SPSLookupSymbolsSignature

SPSMachOJITDylibDepInfo

SPSMachOJITDylibDepInfoMap

SPSMap

template<typename SPSTagT1, typename SPSTagT2>

SPSMemoryAccessBufferWrite

SPSMemoryAccessPointerWrite

SPSMemoryAccessUInt16Write

SPSMemoryAccessUInt32Write

SPSMemoryAccessUInt64Write

SPSMemoryAccessUInt8Write

SPSMemoryAccessUIntWrite

SPSPerfJITCodeLoadRecord

SPSPerfJITCodeUnwindingInfoRecord

SPSPerfJITDebugEntry

SPSPerfJITDebugInfoRecord

SPSPerfJITRecordBatch

SPSPerfJITRecordPrefix

SPSRemoteSymbolLookup

SPSRemoteSymbolLookupSet

SPSRemoteSymbolLookupSetElement

SPSSegFinalizeRequest

SPSSharedMemoryFinalizeRequest

SPSSharedMemorySegFinalizeRequest

SPSSimpleRemoteEPCExecutorInfo

Initial value:

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

Definition at line 164 of file SimpleRemoteEPCUtils.h.

SPSString

SPSVTuneLineTable

SPSVTuneMethodBatch

SPSVTuneMethodInfo

SPSVTuneMethodTable

SPSVTuneStringTable

SPSVTuneUnloadedMethodIDs

SPSWrapperFunctionCall

makeMethodWrapperHandler()

template<typename RetT, typename ClassT, typename... ArgTs>

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

numDeallocActions()

size_t llvm::orc::shared::numDeallocActions ( const AllocActions & AAs) inline

Returns the number of deallocaton actions in the given AllocActions array.

This can be useful if clients want to pre-allocate room for deallocation actions with the rest of their memory.

Definition at line 51 of file AllocationActions.h.

References llvm::count_if(), and P.

Referenced by runFinalizeActions().

runDeallocActions()

runFinalizeActions()