LLVM 22.0.0git
|
Namespaces | |
namespace | detail |
Functions | |
size_t | numDeallocActions (const AllocActions &AAs) |
Returns the number of deallocaton actions in the given AllocActions array. | |
LLVM_ABI void | runFinalizeActions (AllocActions &AAs, OnRunFinalizeActionsCompleteFn OnComplete) |
Run finalize actions. | |
LLVM_ABI void | runDeallocActions (ArrayRef< WrapperFunctionCall > DAs, OnRunDeallocActionsComeleteFn OnComplete) |
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 46 of file AllocationActions.h.
using llvm::orc::shared::OnRunDeallocActionsComeleteFn = typedef unique_function<void(Error)> |
Definition at line 73 of file AllocationActions.h.
using llvm::orc::shared::OnRunFinalizeActionsCompleteFn = typedef unique_function<void(Expected<std::vector<WrapperFunctionCall> >)> |
Definition at line 57 of file AllocationActions.h.
using llvm::orc::shared::SPSAllocActionCallPair = typedef SPSTuple<SPSWrapperFunctionCall, SPSWrapperFunctionCall> |
Definition at line 81 of file AllocationActions.h.
using llvm::orc::shared::SPSCOFFDeregisterObjectSectionsArgs = typedef SPSArgList<SPSExecutorAddr, SPSCOFFObjectSectionsMap> |
Definition at line 41 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFJITDylibDepInfo = typedef SPSSequence<SPSExecutorAddr> |
Definition at line 34 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFJITDylibDepInfoMap = typedef SPSSequence<SPSTuple<SPSExecutorAddr, SPSCOFFJITDylibDepInfo> > |
Definition at line 35 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFObjectSectionsMap = typedef SPSSequence<SPSTuple<SPSString, SPSExecutorAddrRange> > |
Definition at line 37 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFRegisterObjectSectionsArgs = typedef SPSArgList<SPSExecutorAddr, SPSCOFFObjectSectionsMap, bool> |
Definition at line 39 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSELFNixJITDylibDepInfoMap = typedef SPSSequence<SPSTuple<SPSExecutorAddr, SPSSequence<SPSExecutorAddr> >> |
Definition at line 310 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFPerObjectSectionsToRegister = typedef SPSTuple<SPSExecutorAddrRange, SPSExecutorAddrRange> |
Definition at line 284 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSExecutorAddrRange = typedef SPSTuple<SPSExecutorAddr, SPSExecutorAddr> |
Definition at line 315 of file ExecutorAddress.h.
Definition at line 337 of file ExecutorAddress.h.
using llvm::orc::shared::SPSExecutorSymbolDef = typedef SPSTuple<SPSExecutorAddr, SPSJITSymbolFlags> |
Definition at line 113 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 85 of file ExecutorSymbolDef.h.
using llvm::orc::shared::SPSLoadDylibSignature = typedef SPSExpected<SPSExecutorAddr>(SPSExecutorAddr, SPSString, uint64_t) |
Definition at line 227 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSLookupSymbolsSignature = typedef SPSExpected<SPSSequence<SPSSequence<SPSExecutorAddr> >>( SPSExecutorAddr, SPSSequence<SPSRemoteSymbolLookup>) |
Definition at line 230 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSMachOJITDylibDepInfo = typedef SPSTuple<bool, SPSSequence<SPSExecutorAddr> > |
Definition at line 32 of file MachOPlatform.cpp.
using llvm::orc::shared::SPSMachOJITDylibDepInfoMap = typedef SPSSequence<SPSTuple<SPSExecutorAddr, SPSMachOJITDylibDepInfo> > |
Definition at line 33 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::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 161 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSRemoteSymbolLookupSet = typedef SPSSequence<SPSRemoteSymbolLookupSetElement> |
Definition at line 159 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSRemoteSymbolLookupSetElement = typedef SPSTuple<SPSString, bool> |
Definition at line 157 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 164 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 52 of file AllocationActions.h.
References llvm::count_if(), and P.
Referenced by runFinalizeActions().
void llvm::orc::shared::runDeallocActions | ( | ArrayRef< WrapperFunctionCall > | DAs, |
OnRunDeallocActionsComeleteFn | OnComplete | ||
) |
Run deallocation actions.
Dealloc actions will be run in reverse order (from last element of DAs to first).
Definition at line 40 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(), and llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::deinitialize().
void llvm::orc::shared::runFinalizeActions | ( | AllocActions & | AAs, |
OnRunFinalizeActionsCompleteFn | OnComplete | ||
) |
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 15 of file AllocationActions.cpp.
References llvm::joinErrors(), and numDeallocActions().
Referenced by llvm::orc::InProcessMemoryMapper::initialize(), and llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::initialize().