LLVM 20.0.0git
|
Namespaces | |
namespace | detail |
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. | |
using llvm::orc::shared::AllocActions = typedef std::vector<AllocActionCallPair> |
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.
using llvm::orc::shared::SPSAllocActionCallPair = typedef SPSTuple<SPSWrapperFunctionCall, SPSWrapperFunctionCall> |
Definition at line 73 of file AllocationActions.h.
using llvm::orc::shared::SPSCOFFDeregisterObjectSectionsArgs = typedef SPSArgList<SPSExecutorAddr, SPSCOFFObjectSectionsMap> |
Definition at line 38 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFJITDylibDepInfo = typedef SPSSequence<SPSExecutorAddr> |
Definition at line 31 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFJITDylibDepInfoMap = typedef SPSSequence<SPSTuple<SPSExecutorAddr, SPSCOFFJITDylibDepInfo> > |
Definition at line 32 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFObjectSectionsMap = typedef SPSSequence<SPSTuple<SPSString, SPSExecutorAddrRange> > |
Definition at line 34 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFRegisterObjectSectionsArgs = typedef SPSArgList<SPSExecutorAddr, SPSCOFFObjectSectionsMap, bool> |
Definition at line 36 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSELFJITDylibDeinitializers = typedef SPSEmpty |
Definition at line 308 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFJITDylibDeinitializerSequence = typedef SPSSequence<SPSELFJITDylibDeinitializers> |
Definition at line 310 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFNixJITDylibInitializers = typedef SPSTuple<SPSString, SPSExecutorAddr, SPSNamedExecutorAddrRangeSequenceMap> |
Definition at line 279 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFNixJITDylibInitializerSequence = typedef SPSSequence<SPSELFNixJITDylibInitializers> |
Definition at line 282 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFPerObjectSectionsToRegister = typedef SPSTuple<SPSExecutorAddrRange, SPSExecutorAddrRange> |
Definition at line 250 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSExecutorAddrRange = typedef SPSTuple<SPSExecutorAddr, SPSExecutorAddr> |
Definition at line 271 of file ExecutorAddress.h.
Definition at line 293 of file ExecutorAddress.h.
using llvm::orc::shared::SPSExecutorSymbolDef = typedef SPSTuple<SPSExecutorAddr, SPSJITSymbolFlags> |
Definition at line 82 of file ExecutorSymbolDef.h.
using llvm::orc::shared::SPSFinalizeRequest = typedef SPSTuple<SPSSequence<SPSSegFinalizeRequest>, SPSSequence<SPSAllocActionCallPair> > |
Definition at line 128 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSJITSymbolFlags = typedef SPSTuple<JITSymbolFlags::UnderlyingType, JITSymbolFlags::TargetFlagsType> |
Definition at line 54 of file ExecutorSymbolDef.h.
using llvm::orc::shared::SPSLoadDylibSignature = typedef SPSExpected<SPSExecutorAddr>(SPSExecutorAddr, SPSString, uint64_t) |
Definition at line 226 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSLookupSymbolsSignature = typedef SPSExpected<SPSSequence<SPSSequence<SPSExecutorAddr> >>( SPSExecutorAddr, SPSSequence<SPSRemoteSymbolLookup>) |
Definition at line 229 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSMachOJITDylibDepInfo = typedef SPSTuple<bool, SPSSequence<SPSExecutorAddr> > |
Definition at line 34 of file MachOPlatform.cpp.
using llvm::orc::shared::SPSMachOJITDylibDepInfoMap = typedef SPSSequence<SPSTuple<SPSExecutorAddr, SPSMachOJITDylibDepInfo> > |
Definition at line 35 of file MachOPlatform.cpp.
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.
using llvm::orc::shared::SPSMemoryAccessBufferWrite = typedef SPSTuple<SPSExecutorAddr, SPSSequence<char> > |
Definition at line 146 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSMemoryAccessPointerWrite = typedef SPSTuple<SPSExecutorAddr, SPSExecutorAddr> |
Definition at line 147 of file TargetProcessControlTypes.h.
Definition at line 142 of file TargetProcessControlTypes.h.
Definition at line 143 of file TargetProcessControlTypes.h.
Definition at line 144 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSMemoryAccessUInt8Write = typedef SPSMemoryAccessUIntWrite<uint8_t> |
Definition at line 141 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSMemoryAccessUIntWrite = typedef SPSTuple<SPSExecutorAddr, T> |
Definition at line 139 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSNamedExecutorAddrRangeSequenceMap = typedef SPSSequence<SPSTuple<SPSString, SPSExecutorAddrRangeSequence> > |
Definition at line 276 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSPerfJITCodeLoadRecord = typedef SPSTuple<SPSPerfJITRecordPrefix, uint32_t, uint32_t, uint64_t, uint64_t, uint64_t, uint64_t, SPSString> |
Definition at line 112 of file PerfSharedStructs.h.
using llvm::orc::shared::SPSPerfJITCodeUnwindingInfoRecord = typedef SPSTuple<SPSPerfJITRecordPrefix, uint64_t, uint64_t, uint64_t, uint64_t, SPSString, uint64_t> |
Definition at line 181 of file PerfSharedStructs.h.
using llvm::orc::shared::SPSPerfJITDebugEntry = typedef SPSTuple<uint64_t, uint32_t, uint32_t, SPSString> |
Definition at line 138 of file PerfSharedStructs.h.
using llvm::orc::shared::SPSPerfJITDebugInfoRecord = typedef SPSTuple<SPSPerfJITRecordPrefix, uint64_t, SPSSequence<SPSPerfJITDebugEntry> > |
Definition at line 159 of file PerfSharedStructs.h.
using llvm::orc::shared::SPSPerfJITRecordBatch = typedef SPSTuple<SPSSequence<SPSPerfJITCodeLoadRecord>, SPSSequence<SPSPerfJITDebugInfoRecord>, SPSPerfJITCodeUnwindingInfoRecord> |
Definition at line 207 of file PerfSharedStructs.h.
using llvm::orc::shared::SPSPerfJITRecordPrefix = typedef SPSTuple<uint32_t, uint32_t> |
Definition at line 90 of file PerfSharedStructs.h.
using llvm::orc::shared::SPSRemoteSymbolLookup = typedef SPSTuple<uint64_t, SPSRemoteSymbolLookupSet> |
Definition at line 160 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSRemoteSymbolLookupSet = typedef SPSSequence<SPSRemoteSymbolLookupSetElement> |
Definition at line 158 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSRemoteSymbolLookupSetElement = typedef SPSTuple<SPSString, bool> |
Definition at line 156 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSSegFinalizeRequest = typedef SPSTuple<SPSRemoteAllocGroup, SPSExecutorAddr, uint64_t, SPSSequence<char> > |
Definition at line 125 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSSharedMemoryFinalizeRequest = typedef SPSTuple<SPSSequence<SPSSharedMemorySegFinalizeRequest>, SPSSequence<SPSAllocActionCallPair> > |
Definition at line 134 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSSharedMemorySegFinalizeRequest = typedef SPSTuple<SPSRemoteAllocGroup, SPSExecutorAddr, uint64_t> |
Definition at line 131 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSSimpleRemoteEPCExecutorInfo = typedef SPSTuple<SPSString, uint64_t, SPSSequence<SPSTuple<SPSString, SPSSequence<char> >>, SPSSequence<SPSTuple<SPSString, SPSExecutorAddr> >> |
Tuple containing target triple, page size, and bootstrap symbols.
Definition at line 163 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSString = typedef SPSSequence<char> |
SPS tag type for strings, which are equivalent to sequences of chars.
Definition at line 217 of file SimplePackedSerialization.h.
using llvm::orc::shared::SPSVTuneLineTable = typedef SPSSequence<SPSTuple<uint32_t, uint32_t> > |
Definition at line 54 of file VTuneSharedStructs.h.
using llvm::orc::shared::SPSVTuneMethodBatch = typedef SPSTuple<SPSVTuneMethodTable, SPSVTuneStringTable> |
Definition at line 60 of file VTuneSharedStructs.h.
using llvm::orc::shared::SPSVTuneMethodInfo = typedef SPSTuple<SPSVTuneLineTable, SPSExecutorAddr, uint64_t, uint64_t, uint32_t, uint32_t, uint32_t, uint32_t> |
Definition at line 55 of file VTuneSharedStructs.h.
using llvm::orc::shared::SPSVTuneMethodTable = typedef SPSSequence<SPSVTuneMethodInfo> |
Definition at line 58 of file VTuneSharedStructs.h.
using llvm::orc::shared::SPSVTuneStringTable = typedef SPSSequence<SPSString> |
Definition at line 59 of file VTuneSharedStructs.h.
using llvm::orc::shared::SPSVTuneUnloadedMethodIDs = typedef SPSSequence<SPSTuple<uint64_t, uint64_t> > |
Definition at line 61 of file VTuneSharedStructs.h.
using llvm::orc::shared::SPSWrapperFunctionCall = typedef SPSTuple<SPSExecutorAddr, SPSSequence<char> > |
Definition at line 710 of file WrapperFunctionUtils.h.
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.
|
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().
Error llvm::orc::shared::runDeallocActions | ( | ArrayRef< WrapperFunctionCall > | DAs | ) |
Run deallocation actions.
Dealloc actions will be run in reverse order (from last element of DAs to first).
Definition at line 33 of file AllocationActions.cpp.
References llvm::ArrayRef< T >::back(), llvm::ArrayRef< T >::drop_back(), llvm::ArrayRef< T >::empty(), llvm::joinErrors(), and llvm::Error::success().
Referenced by llvm::orc::InProcessMemoryMapper::deinitialize(), llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::deinitialize(), and 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().