class OrcGenericABI
Declaration
class OrcGenericABI { /* full declaration omitted */ };
Description
Generic ORC ABI support. This class can be substituted as the target architecture support class for ORC templates that require one (e.g. IndirectStubsManagers). It does not support lazy JITing however, and any attempt to use that functionality will result in execution of an llvm_unreachable.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h:55
Member Variables
- public static const unsigned int PointerSize = sizeof(unsigned long)
- public static const unsigned int TrampolineSize = 1
- public static const unsigned int StubSize = 1
- public static const unsigned int StubToPointerMaxDisplacement = 1
- public static const unsigned int ResolverCodeSize = 1
Method Overview
- public static void writeIndirectStubsBlock(char * StubsBlockWorkingMem, llvm::JITTargetAddress StubsBlockTargetAddress, llvm::JITTargetAddress PointersBlockTargetAddress, unsigned int NumStubs)
- public static void writeResolverCode(char * ResolveWorkingMem, llvm::JITTargetAddress ResolverTargetAddr, llvm::JITTargetAddress ReentryFnAddr, llvm::JITTargetAddress ReentryCtxAddr)
- public static void writeTrampolines(char * TrampolineBlockWorkingMem, llvm::JITTargetAddress TrampolineBlockTargetAddr, llvm::JITTargetAddress ResolverAddr, unsigned int NumTrampolines)
Methods
¶static void writeIndirectStubsBlock(
char* StubsBlockWorkingMem,
llvm::JITTargetAddress
StubsBlockTargetAddress,
llvm::JITTargetAddress
PointersBlockTargetAddress,
unsigned int NumStubs)
static void writeIndirectStubsBlock(
char* StubsBlockWorkingMem,
llvm::JITTargetAddress
StubsBlockTargetAddress,
llvm::JITTargetAddress
PointersBlockTargetAddress,
unsigned int NumStubs)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h:79
Parameters
- char* StubsBlockWorkingMem
- llvm::JITTargetAddress StubsBlockTargetAddress
- llvm::JITTargetAddress PointersBlockTargetAddress
- unsigned int NumStubs
¶static void writeResolverCode(
char* ResolveWorkingMem,
llvm::JITTargetAddress ResolverTargetAddr,
llvm::JITTargetAddress ReentryFnAddr,
llvm::JITTargetAddress ReentryCtxAddr)
static void writeResolverCode(
char* ResolveWorkingMem,
llvm::JITTargetAddress ResolverTargetAddr,
llvm::JITTargetAddress ReentryFnAddr,
llvm::JITTargetAddress ReentryCtxAddr)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h:63
Parameters
- char* ResolveWorkingMem
- llvm::JITTargetAddress ResolverTargetAddr
- llvm::JITTargetAddress ReentryFnAddr
- llvm::JITTargetAddress ReentryCtxAddr
¶static void writeTrampolines(
char* TrampolineBlockWorkingMem,
llvm::JITTargetAddress
TrampolineBlockTargetAddr,
llvm::JITTargetAddress ResolverAddr,
unsigned int NumTrampolines)
static void writeTrampolines(
char* TrampolineBlockWorkingMem,
llvm::JITTargetAddress
TrampolineBlockTargetAddr,
llvm::JITTargetAddress ResolverAddr,
unsigned int NumTrampolines)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h:71
Parameters
- char* TrampolineBlockWorkingMem
- llvm::JITTargetAddress TrampolineBlockTargetAddr
- llvm::JITTargetAddress ResolverAddr
- unsigned int NumTrampolines