LLVM 17.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 37 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFJITDylibDepInfo = typedef SPSSequence<SPSExecutorAddr> |
Definition at line 30 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFJITDylibDepInfoMap = typedef SPSSequence<SPSTuple<SPSExecutorAddr, SPSCOFFJITDylibDepInfo> > |
Definition at line 31 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFObjectSectionsMap = typedef SPSSequence<SPSTuple<SPSString, SPSExecutorAddrRange> > |
Definition at line 33 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSCOFFRegisterObjectSectionsArgs = typedef SPSArgList<SPSExecutorAddr, SPSCOFFObjectSectionsMap, bool> |
Definition at line 35 of file COFFPlatform.cpp.
using llvm::orc::shared::SPSELFJITDylibDeinitializers = typedef SPSEmpty |
Definition at line 305 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFJITDylibDeinitializerSequence = typedef SPSSequence<SPSELFJITDylibDeinitializers> |
Definition at line 307 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFNixJITDylibInitializers = typedef SPSTuple<SPSString, SPSExecutorAddr, SPSNamedExecutorAddrRangeSequenceMap> |
Definition at line 276 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFNixJITDylibInitializerSequence = typedef SPSSequence<SPSELFNixJITDylibInitializers> |
Definition at line 279 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFPerObjectSectionsToRegister = typedef SPSTuple<SPSExecutorAddrRange, SPSExecutorAddrRange> |
Definition at line 247 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::SPSFinalizeRequest = typedef SPSTuple<SPSSequence<SPSSegFinalizeRequest>, SPSSequence<SPSAllocActionCallPair> > |
Definition at line 101 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSLoadDylibSignature = typedef SPSExpected<SPSExecutorAddr>(SPSExecutorAddr, SPSString, uint64_t) |
Definition at line 224 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSLookupSymbolsSignature = typedef SPSExpected<SPSSequence<SPSSequence<SPSExecutorAddr> >>( SPSExecutorAddr, SPSSequence<SPSRemoteSymbolLookup>) |
Definition at line 227 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSMachOJITDylibDepInfo = typedef SPSTuple<bool, SPSSequence<SPSExecutorAddr> > |
Definition at line 30 of file MachOPlatform.cpp.
using llvm::orc::shared::SPSMachOJITDylibDepInfoMap = typedef SPSSequence<SPSTuple<SPSExecutorAddr, SPSMachOJITDylibDepInfo> > |
Definition at line 31 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 119 of file TargetProcessControlTypes.h.
Definition at line 115 of file TargetProcessControlTypes.h.
Definition at line 116 of file TargetProcessControlTypes.h.
Definition at line 117 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSMemoryAccessUInt8Write = typedef SPSMemoryAccessUIntWrite<uint8_t> |
Definition at line 114 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSMemoryAccessUIntWrite = typedef SPSTuple<SPSExecutorAddr, T> |
Definition at line 112 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSNamedExecutorAddrRangeSequence = typedef SPSSequence<SPSTuple<SPSString, SPSExecutorAddrRange> > |
Definition at line 266 of file MachOPlatform.h.
using llvm::orc::shared::SPSNamedExecutorAddrRangeSequenceMap = typedef SPSSequence<SPSTuple<SPSString, SPSExecutorAddrRangeSequence> > |
Definition at line 273 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSRemoteSymbolLookup = typedef SPSTuple<uint64_t, SPSRemoteSymbolLookupSet> |
Definition at line 159 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSRemoteSymbolLookupSet = typedef SPSSequence<SPSRemoteSymbolLookupSetElement> |
Definition at line 157 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSRemoteSymbolLookupSetElement = typedef SPSTuple<SPSString, bool> |
Definition at line 155 of file SimpleRemoteEPCUtils.h.
using llvm::orc::shared::SPSSegFinalizeRequest = typedef SPSTuple<SPSAllocGroup, SPSExecutorAddr, uint64_t, SPSSequence<char> > |
Definition at line 98 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSSharedMemoryFinalizeRequest = typedef SPSTuple<SPSSequence<SPSSharedMemorySegFinalizeRequest>, SPSSequence<SPSAllocActionCallPair> > |
Definition at line 107 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSSharedMemorySegFinalizeRequest = typedef SPSTuple<SPSAllocGroup, SPSExecutorAddr, uint64_t> |
Definition at line 104 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSSimpleRemoteEPCExecutorInfo = typedef SPSTuple<SPSString, uint64_t, SPSSequence<SPSTuple<SPSString, SPSExecutorAddr> >> |
Tuple containing target triple, page size, and bootstrap symbols.
Definition at line 162 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::SPSWrapperFunctionCall = typedef SPSTuple<SPSExecutorAddr, SPSSequence<char> > |
Definition at line 708 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 617 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().