LLVM
17.0.0git
|
Namespaces | |
detail | |
Functions | |
size_t | numDeallocActions (const AllocActions &AAs) |
Returns the number of deallocaton actions in the given AllocActions array. More... | |
Expected< std::vector< WrapperFunctionCall > > | runFinalizeActions (AllocActions &AAs) |
Run finalize actions. More... | |
Error | runDeallocActions (ArrayRef< WrapperFunctionCall > DAs) |
Run deallocation actions. More... | |
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. More... | |
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 74 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 30 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 305 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFJITDylibDeinitializerSequence = typedef SPSSequence<SPSELFJITDylibDeinitializers> |
Definition at line 308 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFNixJITDylibInitializers = typedef SPSTuple<SPSString, SPSExecutorAddr, SPSNamedExecutorAddrRangeSequenceMap> |
Definition at line 277 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFNixJITDylibInitializerSequence = typedef SPSSequence<SPSELFNixJITDylibInitializers> |
Definition at line 280 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSELFPerObjectSectionsToRegister = typedef SPSTuple<SPSExecutorAddrRange, SPSExecutorAddrRange> |
Definition at line 248 of file ELFNixPlatform.h.
using llvm::orc::shared::SPSExecutorAddrRange = typedef SPSTuple<SPSExecutorAddr, SPSExecutorAddr> |
Definition at line 250 of file ExecutorAddress.h.
Definition at line 272 of file ExecutorAddress.h.
using llvm::orc::shared::SPSFinalizeRequest = typedef SPSTuple<SPSSequence<SPSSegFinalizeRequest>, SPSSequence<SPSAllocActionCallPair> > |
Definition at line 102 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSLoadDylibSignature = typedef SPSExpected<SPSExecutorAddr>(SPSExecutorAddr, SPSString, uint64_t) |
Definition at line 225 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 30 of file MachOPlatform.cpp.
using llvm::orc::shared::SPSMachOJITDylibDepInfoMap = typedef SPSSequence<SPSTuple<SPSExecutorAddr, SPSMachOJITDylibDepInfo> > |
Definition at line 32 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 267 of file MachOPlatform.h.
using llvm::orc::shared::SPSNamedExecutorAddrRangeSequenceMap = typedef SPSSequence<SPSTuple<SPSString, SPSExecutorAddrRangeSequence> > |
Definition at line 274 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 99 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSSharedMemoryFinalizeRequest = typedef SPSTuple<SPSSequence<SPSSharedMemorySegFinalizeRequest>, SPSSequence<SPSAllocActionCallPair> > |
Definition at line 109 of file TargetProcessControlTypes.h.
using llvm::orc::shared::SPSSharedMemorySegFinalizeRequest = typedef SPSTuple<SPSAllocGroup, SPSExecutorAddr, uint64_t> |
Definition at line 105 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 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::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.
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 numDeallocActions().
Referenced by llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::initialize(), and llvm::orc::InProcessMemoryMapper::initialize().