#include "llvm/ExecutionEngine/Orc/OrcABISupport.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/raw_ostream.h"
#define DEBUG_TYPE …
usingnamespacellvm;
usingnamespacellvm::orc;
template <typename ORCABI>
static bool stubAndPointerRangesOk(ExecutorAddr StubBlockAddr,
ExecutorAddr PointerBlockAddr,
unsigned NumStubs) { … }
namespace llvm {
namespace orc {
void OrcAArch64::writeResolverCode(char *ResolverWorkingMem,
ExecutorAddr ResolverTargetAddress,
ExecutorAddr ReentryFnAddr,
ExecutorAddr ReentryCtxAddr) { … }
void OrcAArch64::writeTrampolines(char *TrampolineBlockWorkingMem,
ExecutorAddr TrampolineBlockTargetAddress,
ExecutorAddr ResolverAddr,
unsigned NumTrampolines) { … }
void OrcAArch64::writeIndirectStubsBlock(
char *StubsBlockWorkingMem, ExecutorAddr StubsBlockTargetAddress,
ExecutorAddr PointersBlockTargetAddress, unsigned NumStubs) { … }
void OrcX86_64_Base::writeTrampolines(char *TrampolineBlockWorkingMem,
ExecutorAddr TrampolineBlockTargetAddress,
ExecutorAddr ResolverAddr,
unsigned NumTrampolines) { … }
void OrcX86_64_Base::writeIndirectStubsBlock(
char *StubsBlockWorkingMem, ExecutorAddr StubsBlockTargetAddress,
ExecutorAddr PointersBlockTargetAddress, unsigned NumStubs) { … }
void OrcX86_64_SysV::writeResolverCode(char *ResolverWorkingMem,
ExecutorAddr ResolverTargetAddress,
ExecutorAddr ReentryFnAddr,
ExecutorAddr ReentryCtxAddr) { … }
void OrcX86_64_Win32::writeResolverCode(char *ResolverWorkingMem,
ExecutorAddr ResolverTargetAddress,
ExecutorAddr ReentryFnAddr,
ExecutorAddr ReentryCtxAddr) { … }
void OrcI386::writeResolverCode(char *ResolverWorkingMem,
ExecutorAddr ResolverTargetAddress,
ExecutorAddr ReentryFnAddr,
ExecutorAddr ReentryCtxAddr) { … }
void OrcI386::writeTrampolines(char *TrampolineWorkingMem,
ExecutorAddr TrampolineBlockTargetAddress,
ExecutorAddr ResolverAddr,
unsigned NumTrampolines) { … }
void OrcI386::writeIndirectStubsBlock(char *StubsBlockWorkingMem,
ExecutorAddr StubsBlockTargetAddress,
ExecutorAddr PointersBlockTargetAddress,
unsigned NumStubs) { … }
void OrcMips32_Base::writeResolverCode(char *ResolverWorkingMem,
ExecutorAddr ResolverTargetAddress,
ExecutorAddr ReentryFnAddr,
ExecutorAddr ReentryCtxAddr,
bool isBigEndian) { … }
void OrcMips32_Base::writeTrampolines(char *TrampolineBlockWorkingMem,
ExecutorAddr TrampolineBlockTargetAddress,
ExecutorAddr ResolverAddr,
unsigned NumTrampolines) { … }
void OrcMips32_Base::writeIndirectStubsBlock(
char *StubsBlockWorkingMem, ExecutorAddr StubsBlockTargetAddress,
ExecutorAddr PointersBlockTargetAddress, unsigned NumStubs) { … }
void OrcMips64::writeResolverCode(char *ResolverWorkingMem,
ExecutorAddr ResolverTargetAddress,
ExecutorAddr ReentryFnAddr,
ExecutorAddr ReentryCtxAddr) { … }
void OrcMips64::writeTrampolines(char *TrampolineBlockWorkingMem,
ExecutorAddr TrampolineBlockTargetAddress,
ExecutorAddr ResolverAddr,
unsigned NumTrampolines) { … }
void OrcMips64::writeIndirectStubsBlock(char *StubsBlockWorkingMem,
ExecutorAddr StubsBlockTargetAddress,
ExecutorAddr PointersBlockTargetAddress,
unsigned NumStubs) { … }
void OrcRiscv64::writeResolverCode(char *ResolverWorkingMem,
ExecutorAddr ResolverTargetAddress,
ExecutorAddr ReentryFnAddr,
ExecutorAddr ReentryCtxAddr) { … }
void OrcRiscv64::writeTrampolines(char *TrampolineBlockWorkingMem,
ExecutorAddr TrampolineBlockTargetAddress,
ExecutorAddr ResolverAddr,
unsigned NumTrampolines) { … }
void OrcRiscv64::writeIndirectStubsBlock(
char *StubsBlockWorkingMem, ExecutorAddr StubsBlockTargetAddress,
ExecutorAddr PointersBlockTargetAddress, unsigned NumStubs) { … }
void OrcLoongArch64::writeResolverCode(char *ResolverWorkingMem,
ExecutorAddr ResolverTargetAddress,
ExecutorAddr ReentryFnAddr,
ExecutorAddr ReentryCtxAddr) { … }
void OrcLoongArch64::writeTrampolines(char *TrampolineBlockWorkingMem,
ExecutorAddr TrampolineBlockTargetAddress,
ExecutorAddr ResolverAddr,
unsigned NumTrampolines) { … }
void OrcLoongArch64::writeIndirectStubsBlock(
char *StubsBlockWorkingMem, ExecutorAddr StubsBlockTargetAddress,
ExecutorAddr PointersBlockTargetAddress, unsigned NumStubs) { … }
}
}