LLVM 17.0.0git
|
X86_64 code that's common to all ABIs. More...
#include "llvm/ExecutionEngine/Orc/OrcABISupport.h"
Static Public Member Functions | |
static void | writeTrampolines (char *TrampolineBlockWorkingMem, JITTargetAddress TrampolineBlockTargetAddress, JITTargetAddress ResolverAddr, unsigned NumTrampolines) |
Write the requested number of trampolines into the given memory, which must be big enough to hold 1 pointer, plus NumTrampolines trampolines. | |
static void | writeIndirectStubsBlock (char *StubsBlockWorkingMem, JITTargetAddress StubsBlockTargetAddress, JITTargetAddress PointersBlockTargetAddress, unsigned NumStubs) |
Write NumStubs indirect stubs to working memory at StubsBlockWorkingMem. | |
Static Public Attributes | |
static constexpr unsigned | PointerSize = 8 |
static constexpr unsigned | TrampolineSize = 8 |
static constexpr unsigned | StubSize = 8 |
static constexpr unsigned | StubToPointerMaxDisplacement = 1 << 31 |
X86_64 code that's common to all ABIs.
X86_64 supports lazy JITing.
Definition at line 128 of file OrcABISupport.h.
|
static |
Write NumStubs indirect stubs to working memory at StubsBlockWorkingMem.
Stubs will be written as if linked at StubsBlockTargetAddress, with the Nth stub using the Nth pointer in memory starting at PointersBlockTargetAddress.
Definition at line 216 of file OrcABISupport.cpp.
References assert(), I, PointerSize, and StubSize.
|
static |
Write the requested number of trampolines into the given memory, which must be big enough to hold 1 pointer, plus NumTrampolines trampolines.
Definition at line 198 of file OrcABISupport.cpp.
References I, and TrampolineSize.
|
staticconstexpr |
Definition at line 130 of file OrcABISupport.h.
Referenced by writeIndirectStubsBlock().
|
staticconstexpr |
Definition at line 132 of file OrcABISupport.h.
Referenced by writeIndirectStubsBlock().
|
staticconstexpr |
Definition at line 133 of file OrcABISupport.h.
|
staticconstexpr |
Definition at line 131 of file OrcABISupport.h.
Referenced by writeTrampolines().