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

Namespaces

namespace  detail
 

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< 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 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<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< 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, 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< 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||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  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<char> -> std::string deserialization. More...
 
class  TrivialSPSSequenceDeserialization< SPSElementTagT, SmallVector< T, N > >
 Trivial SPSSequence<SPSElementTagT> -> SmallVectorImpl<T> deserialization. More...
 
class  TrivialSPSSequenceDeserialization< SPSElementTagT, SmallVectorImpl< T > >
 Trivial SPSSequence<SPSElementTagT> -> SmallVectorImpl<T> 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, SmallVector< T, N > >
 Trivial SmallVectorImpl<T> -> SPSSequence<char> serialization. More...
 
class  TrivialSPSSequenceSerialization< SPSElementTagT, SmallVectorImpl< T > >
 Trivial SmallVectorImpl<T> -> SPSSequence<char> 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  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 = 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 AllocActions = std::vector< AllocActionCallPair >
 A vector of allocation actions to be run for this allocation.
 
using SPSAllocActionCallPair = SPSTuple< SPSWrapperFunctionCall, SPSWrapperFunctionCall >
 
using SPSExecutorAddrRange = SPSTuple< SPSExecutorAddr, SPSExecutorAddr >
 
using SPSExecutorAddrRangeSequence = SPSSequence< SPSExecutorAddrRange >
 
using SPSJITSymbolFlags = SPSTuple< JITSymbolFlags::UnderlyingType, JITSymbolFlags::TargetFlagsType >
 
using SPSExecutorSymbolDef = SPSTuple< SPSExecutorAddr, SPSJITSymbolFlags >
 
using SPSPerfJITRecordPrefix = SPSTuple< uint32_t, uint32_t >
 
using SPSPerfJITCodeLoadRecord = SPSTuple< SPSPerfJITRecordPrefix, uint32_t, uint32_t, uint64_t, uint64_t, uint64_t, uint64_t, SPSString >
 
using SPSPerfJITDebugEntry = SPSTuple< uint64_t, uint32_t, uint32_t, SPSString >
 
using SPSPerfJITDebugInfoRecord = SPSTuple< SPSPerfJITRecordPrefix, uint64_t, SPSSequence< SPSPerfJITDebugEntry > >
 
using SPSPerfJITCodeUnwindingInfoRecord = SPSTuple< SPSPerfJITRecordPrefix, uint64_t, uint64_t, uint64_t, uint64_t, SPSString, uint64_t >
 
using SPSPerfJITRecordBatch = SPSTuple< SPSSequence< SPSPerfJITCodeLoadRecord >, SPSSequence< SPSPerfJITDebugInfoRecord >, SPSPerfJITCodeUnwindingInfoRecord >
 
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 = SPSTuple< SPSString, uint64_t, SPSSequence< SPSTuple< SPSString, SPSSequence< char > > >, SPSSequence< SPSTuple< SPSString, SPSExecutorAddr > > >
 Tuple containing target triple, page size, and bootstrap symbols.
 
using SPSLoadDylibSignature = SPSExpected< SPSExecutorAddr >(SPSExecutorAddr, SPSString, uint64_t)
 
using SPSLookupSymbolsSignature = SPSExpected< SPSSequence< SPSSequence< SPSExecutorAddr > > >(SPSExecutorAddr, SPSSequence< SPSRemoteSymbolLookup >)
 
using SPSSegFinalizeRequest = SPSTuple< SPSRemoteAllocGroup, SPSExecutorAddr, uint64_t, SPSSequence< char > >
 
using SPSFinalizeRequest = SPSTuple< SPSSequence< SPSSegFinalizeRequest >, SPSSequence< SPSAllocActionCallPair > >
 
using SPSSharedMemorySegFinalizeRequest = SPSTuple< SPSRemoteAllocGroup, SPSExecutorAddr, uint64_t >
 
using SPSSharedMemoryFinalizeRequest = SPSTuple< SPSSequence< SPSSharedMemorySegFinalizeRequest >, SPSSequence< SPSAllocActionCallPair > >
 
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 = SPSTuple< SPSVTuneLineTable, SPSExecutorAddr, uint64_t, uint64_t, uint32_t, uint32_t, uint32_t, uint32_t >
 
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 = SPSSequence< SPSTuple< SPSExecutorAddr, SPSCOFFJITDylibDepInfo > >
 
using SPSCOFFObjectSectionsMap = SPSSequence< SPSTuple< SPSString, SPSExecutorAddrRange > >
 
using SPSCOFFRegisterObjectSectionsArgs = SPSArgList< SPSExecutorAddr, SPSCOFFObjectSectionsMap, bool >
 
using SPSCOFFDeregisterObjectSectionsArgs = SPSArgList< SPSExecutorAddr, SPSCOFFObjectSectionsMap >
 
using SPSMachOJITDylibDepInfo = SPSTuple< bool, SPSSequence< SPSExecutorAddr > >
 
using SPSMachOJITDylibDepInfoMap = SPSSequence< SPSTuple< SPSExecutorAddr, SPSMachOJITDylibDepInfo > >
 

Functions

size_t numDeallocActions (const AllocActions &AAs)
 Returns the number of deallocaton actions in the given AllocActions array.
 
Expected< std::vector< WrapperFunctionCall > > runFinalizeActions (AllocActions &AAs)
 Run finalize actions.
 
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.
 

Typedef Documentation

◆ 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 44 of file AllocationActions.h.

◆ SPSAllocActionCallPair

Definition at line 73 of file AllocationActions.h.

◆ SPSCOFFDeregisterObjectSectionsArgs

Definition at line 38 of file COFFPlatform.cpp.

◆ SPSCOFFJITDylibDepInfo

Definition at line 31 of file COFFPlatform.cpp.

◆ SPSCOFFJITDylibDepInfoMap

Definition at line 32 of file COFFPlatform.cpp.

◆ SPSCOFFObjectSectionsMap

Definition at line 34 of file COFFPlatform.cpp.

◆ SPSCOFFRegisterObjectSectionsArgs

Definition at line 36 of file COFFPlatform.cpp.

◆ SPSELFJITDylibDeinitializers

Definition at line 308 of file ELFNixPlatform.h.

◆ SPSELFJITDylibDeinitializerSequence

Definition at line 310 of file ELFNixPlatform.h.

◆ SPSELFNixJITDylibInitializers

Definition at line 279 of file ELFNixPlatform.h.

◆ SPSELFNixJITDylibInitializerSequence

Definition at line 282 of file ELFNixPlatform.h.

◆ SPSELFPerObjectSectionsToRegister

Definition at line 250 of file ELFNixPlatform.h.

◆ SPSExecutorAddrRange

Definition at line 271 of file ExecutorAddress.h.

◆ SPSExecutorAddrRangeSequence

Definition at line 293 of file ExecutorAddress.h.

◆ SPSExecutorSymbolDef

Definition at line 82 of file ExecutorSymbolDef.h.

◆ SPSFinalizeRequest

Definition at line 128 of file TargetProcessControlTypes.h.

◆ SPSJITSymbolFlags

Definition at line 54 of file ExecutorSymbolDef.h.

◆ SPSLoadDylibSignature

Definition at line 226 of file SimpleRemoteEPCUtils.h.

◆ SPSLookupSymbolsSignature

Definition at line 229 of file SimpleRemoteEPCUtils.h.

◆ SPSMachOJITDylibDepInfo

Definition at line 34 of file MachOPlatform.cpp.

◆ SPSMachOJITDylibDepInfoMap

Definition at line 35 of file MachOPlatform.cpp.

◆ 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 223 of file SimplePackedSerialization.h.

◆ SPSMemoryAccessBufferWrite

Definition at line 146 of file TargetProcessControlTypes.h.

◆ SPSMemoryAccessPointerWrite

Definition at line 147 of file TargetProcessControlTypes.h.

◆ SPSMemoryAccessUInt16Write

Definition at line 142 of file TargetProcessControlTypes.h.

◆ SPSMemoryAccessUInt32Write

Definition at line 143 of file TargetProcessControlTypes.h.

◆ SPSMemoryAccessUInt64Write

Definition at line 144 of file TargetProcessControlTypes.h.

◆ SPSMemoryAccessUInt8Write

Definition at line 141 of file TargetProcessControlTypes.h.

◆ SPSMemoryAccessUIntWrite

Definition at line 139 of file TargetProcessControlTypes.h.

◆ SPSNamedExecutorAddrRangeSequenceMap

Definition at line 276 of file ELFNixPlatform.h.

◆ SPSPerfJITCodeLoadRecord

Definition at line 112 of file PerfSharedStructs.h.

◆ SPSPerfJITCodeUnwindingInfoRecord

Definition at line 181 of file PerfSharedStructs.h.

◆ SPSPerfJITDebugEntry

Definition at line 138 of file PerfSharedStructs.h.

◆ SPSPerfJITDebugInfoRecord

Definition at line 159 of file PerfSharedStructs.h.

◆ SPSPerfJITRecordBatch

Definition at line 207 of file PerfSharedStructs.h.

◆ SPSPerfJITRecordPrefix

Definition at line 90 of file PerfSharedStructs.h.

◆ SPSRemoteSymbolLookup

Definition at line 160 of file SimpleRemoteEPCUtils.h.

◆ SPSRemoteSymbolLookupSet

Definition at line 158 of file SimpleRemoteEPCUtils.h.

◆ SPSRemoteSymbolLookupSetElement

Definition at line 156 of file SimpleRemoteEPCUtils.h.

◆ SPSSegFinalizeRequest

Definition at line 125 of file TargetProcessControlTypes.h.

◆ SPSSharedMemoryFinalizeRequest

Definition at line 134 of file TargetProcessControlTypes.h.

◆ SPSSharedMemorySegFinalizeRequest

Definition at line 131 of file TargetProcessControlTypes.h.

◆ SPSSimpleRemoteEPCExecutorInfo

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

Definition at line 163 of file SimpleRemoteEPCUtils.h.

◆ SPSString

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

Definition at line 217 of file SimplePackedSerialization.h.

◆ SPSVTuneLineTable

Definition at line 54 of file VTuneSharedStructs.h.

◆ SPSVTuneMethodBatch

Definition at line 60 of file VTuneSharedStructs.h.

◆ SPSVTuneMethodInfo

Definition at line 55 of file VTuneSharedStructs.h.

◆ SPSVTuneMethodTable

Definition at line 58 of file VTuneSharedStructs.h.

◆ SPSVTuneStringTable

Definition at line 59 of file VTuneSharedStructs.h.

◆ SPSVTuneUnloadedMethodIDs

Definition at line 61 of file VTuneSharedStructs.h.

◆ SPSWrapperFunctionCall

Definition at line 710 of file WrapperFunctionUtils.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 619 of file WrapperFunctionUtils.h.

◆ 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 50 of file AllocationActions.h.

References llvm::count_if(), and P.

Referenced by runFinalizeActions().

◆ runDeallocActions()

Error llvm::orc::shared::runDeallocActions ( ArrayRef< WrapperFunctionCall DAs)

◆ runFinalizeActions()

Expected< std::vector< WrapperFunctionCall > > llvm::orc::shared::runFinalizeActions ( AllocActions AAs)

Run finalize actions.

If any finalize action fails then the corresponding dealloc actions will be run in reverse order (not including the deallocation action for the failed finalize action), and the error for the failing action will be returned.

If all finalize actions succeed then a vector of deallocation actions will be returned. The dealloc actions should be run by calling runDeallocationActions. If this function succeeds then the AA argument will be cleared before the function returns.

Definition at line 16 of file AllocationActions.cpp.

References llvm::joinErrors(), numDeallocActions(), and runDeallocActions().

Referenced by llvm::orc::InProcessMemoryMapper::initialize(), and llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::initialize().