class EPCIndirectionUtils::ABISupport
Declaration
class EPCIndirectionUtils::ABISupport { /* full declaration omitted */ };
Description
ABI support base class. Used to write resolver, stub, and trampoline blocks.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h:36
Member Variables
- private unsigned int PointerSize = 0
- private unsigned int TrampolineSize = 0
- private unsigned int StubSize = 0
- private unsigned int StubToPointerMaxDisplacement = 0
- private unsigned int ResolverCodeSize = 0
Method Overview
- protected ABISupport(unsigned int PointerSize, unsigned int TrampolineSize, unsigned int StubSize, unsigned int StubToPointerMaxDisplacement, unsigned int ResolverCodeSize)
- public unsigned int getPointerSize() const
- public unsigned int getResolverCodeSize() const
- public unsigned int getStubSize() const
- public unsigned int getStubToPointerMaxDisplacement() const
- public unsigned int getTrampolineSize() const
- public virtual void writeIndirectStubsBlock(char * StubsBlockWorkingMem, llvm::JITTargetAddress StubsBlockTargetAddress, llvm::JITTargetAddress PointersBlockTargetAddress, unsigned int NumStubs) const
- public virtual void writeResolverCode(char * ResolverWorkingMem, llvm::JITTargetAddress ResolverTargetAddr, llvm::JITTargetAddress ReentryFnAddr, llvm::JITTargetAddress ReentryCtxAddr) const
- public virtual void writeTrampolines(char * TrampolineBlockWorkingMem, llvm::JITTargetAddress TrampolineBlockTragetAddr, llvm::JITTargetAddress ResolverAddr, unsigned int NumTrampolines) const
- public virtual ~ABISupport()
Methods
¶ABISupport(
unsigned int PointerSize,
unsigned int TrampolineSize,
unsigned int StubSize,
unsigned int StubToPointerMaxDisplacement,
unsigned int ResolverCodeSize)
ABISupport(
unsigned int PointerSize,
unsigned int TrampolineSize,
unsigned int StubSize,
unsigned int StubToPointerMaxDisplacement,
unsigned int ResolverCodeSize)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h:38
Parameters
- unsigned int PointerSize
- unsigned int TrampolineSize
- unsigned int StubSize
- unsigned int StubToPointerMaxDisplacement
- unsigned int ResolverCodeSize
¶unsigned int getPointerSize() const
unsigned int getPointerSize() const
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h:48
¶unsigned int getResolverCodeSize() const
unsigned int getResolverCodeSize() const
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h:54
¶unsigned int getStubSize() const
unsigned int getStubSize() const
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h:50
¶unsigned int getStubToPointerMaxDisplacement()
const
unsigned int getStubToPointerMaxDisplacement()
const
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h:51
¶unsigned int getTrampolineSize() const
unsigned int getTrampolineSize() const
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h:49
¶virtual void writeIndirectStubsBlock(
char* StubsBlockWorkingMem,
llvm::JITTargetAddress
StubsBlockTargetAddress,
llvm::JITTargetAddress
PointersBlockTargetAddress,
unsigned int NumStubs) const
virtual void writeIndirectStubsBlock(
char* StubsBlockWorkingMem,
llvm::JITTargetAddress
StubsBlockTargetAddress,
llvm::JITTargetAddress
PointersBlockTargetAddress,
unsigned int NumStubs) const
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h:67
Parameters
- char* StubsBlockWorkingMem
- llvm::JITTargetAddress StubsBlockTargetAddress
- llvm::JITTargetAddress PointersBlockTargetAddress
- unsigned int NumStubs
¶virtual void writeResolverCode(
char* ResolverWorkingMem,
llvm::JITTargetAddress ResolverTargetAddr,
llvm::JITTargetAddress ReentryFnAddr,
llvm::JITTargetAddress ReentryCtxAddr) const
virtual void writeResolverCode(
char* ResolverWorkingMem,
llvm::JITTargetAddress ResolverTargetAddr,
llvm::JITTargetAddress ReentryFnAddr,
llvm::JITTargetAddress ReentryCtxAddr) const
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h:56
Parameters
- char* ResolverWorkingMem
- llvm::JITTargetAddress ResolverTargetAddr
- llvm::JITTargetAddress ReentryFnAddr
- llvm::JITTargetAddress ReentryCtxAddr
¶virtual void writeTrampolines(
char* TrampolineBlockWorkingMem,
llvm::JITTargetAddress
TrampolineBlockTragetAddr,
llvm::JITTargetAddress ResolverAddr,
unsigned int NumTrampolines) const
virtual void writeTrampolines(
char* TrampolineBlockWorkingMem,
llvm::JITTargetAddress
TrampolineBlockTragetAddr,
llvm::JITTargetAddress ResolverAddr,
unsigned int NumTrampolines) const
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h:61
Parameters
- char* TrampolineBlockWorkingMem
- llvm::JITTargetAddress TrampolineBlockTragetAddr
- llvm::JITTargetAddress ResolverAddr
- unsigned int NumTrampolines
¶virtual ~ABISupport()
virtual ~ABISupport()
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h:46