LLVM 22.0.0git
llvm::orc::OrcGenericABI Class Reference

Generic ORC ABI support. More...

#include "llvm/ExecutionEngine/Orc/OrcABISupport.h"

Static Public Member Functions

static void writeResolverCode (char *ResolveWorkingMem, ExecutorAddr ResolverTargetAddr, ExecutorAddr ReentryFnAddr, ExecutorAddr ReentryCtxAddr)
static void writeTrampolines (char *TrampolineBlockWorkingMem, ExecutorAddr TrampolineBlockTargetAddr, ExecutorAddr ResolverAddr, unsigned NumTrampolines)
static void writeIndirectStubsBlock (char *StubsBlockWorkingMem, ExecutorAddr StubsBlockTargetAddress, ExecutorAddr PointersBlockTargetAddress, unsigned NumStubs)

Static Public Attributes

static constexpr unsigned PointerSize = sizeof(uintptr_t)
static constexpr unsigned TrampolineSize = 1
static constexpr unsigned StubSize = 1
static constexpr unsigned StubToPointerMaxDisplacement = 1
static constexpr unsigned ResolverCodeSize = 1

Detailed 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.

Definition at line 56 of file OrcABISupport.h.

Member Function Documentation

◆ writeIndirectStubsBlock()

void llvm::orc::OrcGenericABI::writeIndirectStubsBlock ( char * StubsBlockWorkingMem,
ExecutorAddr StubsBlockTargetAddress,
ExecutorAddr PointersBlockTargetAddress,
unsigned NumStubs )
inlinestatic

Definition at line 80 of file OrcABISupport.h.

References llvm_unreachable.

◆ writeResolverCode()

void llvm::orc::OrcGenericABI::writeResolverCode ( char * ResolveWorkingMem,
ExecutorAddr ResolverTargetAddr,
ExecutorAddr ReentryFnAddr,
ExecutorAddr ReentryCtxAddr )
inlinestatic

Definition at line 64 of file OrcABISupport.h.

References llvm_unreachable.

◆ writeTrampolines()

void llvm::orc::OrcGenericABI::writeTrampolines ( char * TrampolineBlockWorkingMem,
ExecutorAddr TrampolineBlockTargetAddr,
ExecutorAddr ResolverAddr,
unsigned NumTrampolines )
inlinestatic

Definition at line 72 of file OrcABISupport.h.

References llvm_unreachable.

Member Data Documentation

◆ PointerSize

unsigned llvm::orc::OrcGenericABI::PointerSize = sizeof(uintptr_t)
staticconstexpr

Definition at line 58 of file OrcABISupport.h.

◆ ResolverCodeSize

unsigned llvm::orc::OrcGenericABI::ResolverCodeSize = 1
staticconstexpr

Definition at line 62 of file OrcABISupport.h.

◆ StubSize

unsigned llvm::orc::OrcGenericABI::StubSize = 1
staticconstexpr

Definition at line 60 of file OrcABISupport.h.

◆ StubToPointerMaxDisplacement

unsigned llvm::orc::OrcGenericABI::StubToPointerMaxDisplacement = 1
staticconstexpr

Definition at line 61 of file OrcABISupport.h.

◆ TrampolineSize

unsigned llvm::orc::OrcGenericABI::TrampolineSize = 1
staticconstexpr

Definition at line 59 of file OrcABISupport.h.


The documentation for this class was generated from the following file: