LLVM
15.0.0git
|
I386 support. More...
#include "llvm/ExecutionEngine/Orc/OrcABISupport.h"
Static Public Member Functions | |
static void | writeResolverCode (char *ResolverWorkingMem, JITTargetAddress ResolverTargetAddress, JITTargetAddress ReentryFnAddr, JITTargetAddress ReentryCtxAddr) |
Write the resolver code into the given memory. More... | |
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. More... | |
static void | writeIndirectStubsBlock (char *StubsBlockWorkingMem, JITTargetAddress StubsBlockTargetAddress, JITTargetAddress PointersBlockTargetAddress, unsigned NumStubs) |
Write NumStubs indirect stubs to working memory at StubsBlockWorkingMem. More... | |
Static Public Attributes | |
static constexpr unsigned | PointerSize = 4 |
static constexpr unsigned | TrampolineSize = 8 |
static constexpr unsigned | StubSize = 8 |
static constexpr unsigned | StubToPointerMaxDisplacement = 1 << 31 |
static constexpr unsigned | ResolverCodeSize = 0x4a |
|
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 471 of file OrcABISupport.cpp.
|
static |
Write the resolver code into the given memory.
The user is responsible for allocating the memory and setting permissions.
ReentryFnAddr should be the address of a function whose signature matches void* (*)(void *TrampolineAddr, void *ReentryCtxAddr). The ReentryCtxAddr argument of writeResolverCode will be passed as the second argument to the function at ReentryFnAddr.
Definition at line 404 of file OrcABISupport.cpp.
|
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 457 of file OrcABISupport.cpp.
References assert(), I, and TrampolineSize.
|
staticconstexpr |
Definition at line 197 of file OrcABISupport.h.
|
staticconstexpr |
Definition at line 201 of file OrcABISupport.h.
|
staticconstexpr |
Definition at line 199 of file OrcABISupport.h.
|
staticconstexpr |
Definition at line 200 of file OrcABISupport.h.
|
staticconstexpr |
Definition at line 198 of file OrcABISupport.h.
Referenced by writeTrampolines().