LLVM 22.0.0git
llvm::orc::EPCIndirectionUtils::ABISupport Class Referenceabstract

ABI support base class. More...

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

Inheritance diagram for llvm::orc::EPCIndirectionUtils::ABISupport:
[legend]

Public Member Functions

virtual ~ABISupport ()
unsigned getPointerSize () const
unsigned getTrampolineSize () const
unsigned getStubSize () const
unsigned getStubToPointerMaxDisplacement () const
unsigned getResolverCodeSize () const
virtual void writeResolverCode (char *ResolverWorkingMem, ExecutorAddr ResolverTargetAddr, ExecutorAddr ReentryFnAddr, ExecutorAddr ReentryCtxAddr) const =0
virtual void writeTrampolines (char *TrampolineBlockWorkingMem, ExecutorAddr TrampolineBlockTragetAddr, ExecutorAddr ResolverAddr, unsigned NumTrampolines) const =0
virtual void writeIndirectStubsBlock (char *StubsBlockWorkingMem, ExecutorAddr StubsBlockTargetAddress, ExecutorAddr PointersBlockTargetAddress, unsigned NumStubs) const =0

Protected Member Functions

 ABISupport (unsigned PointerSize, unsigned TrampolineSize, unsigned StubSize, unsigned StubToPointerMaxDisplacement, unsigned ResolverCodeSize)

Detailed Description

ABI support base class.

Used to write resolver, stub, and trampoline blocks.

Definition at line 37 of file EPCIndirectionUtils.h.

Constructor & Destructor Documentation

◆ ABISupport()

llvm::orc::EPCIndirectionUtils::ABISupport::ABISupport ( unsigned PointerSize,
unsigned TrampolineSize,
unsigned StubSize,
unsigned StubToPointerMaxDisplacement,
unsigned ResolverCodeSize )
inlineprotected

◆ ~ABISupport()

llvm::orc::EPCIndirectionUtils::ABISupport::~ABISupport ( )
virtualdefault

Member Function Documentation

◆ getPointerSize()

unsigned llvm::orc::EPCIndirectionUtils::ABISupport::getPointerSize ( ) const
inline

Definition at line 49 of file EPCIndirectionUtils.h.

◆ getResolverCodeSize()

unsigned llvm::orc::EPCIndirectionUtils::ABISupport::getResolverCodeSize ( ) const
inline

Definition at line 55 of file EPCIndirectionUtils.h.

◆ getStubSize()

unsigned llvm::orc::EPCIndirectionUtils::ABISupport::getStubSize ( ) const
inline

Definition at line 51 of file EPCIndirectionUtils.h.

◆ getStubToPointerMaxDisplacement()

unsigned llvm::orc::EPCIndirectionUtils::ABISupport::getStubToPointerMaxDisplacement ( ) const
inline

Definition at line 52 of file EPCIndirectionUtils.h.

◆ getTrampolineSize()

unsigned llvm::orc::EPCIndirectionUtils::ABISupport::getTrampolineSize ( ) const
inline

Definition at line 50 of file EPCIndirectionUtils.h.

◆ writeIndirectStubsBlock()

virtual void llvm::orc::EPCIndirectionUtils::ABISupport::writeIndirectStubsBlock ( char * StubsBlockWorkingMem,
ExecutorAddr StubsBlockTargetAddress,
ExecutorAddr PointersBlockTargetAddress,
unsigned NumStubs ) const
pure virtual

◆ writeResolverCode()

virtual void llvm::orc::EPCIndirectionUtils::ABISupport::writeResolverCode ( char * ResolverWorkingMem,
ExecutorAddr ResolverTargetAddr,
ExecutorAddr ReentryFnAddr,
ExecutorAddr ReentryCtxAddr ) const
pure virtual

◆ writeTrampolines()

virtual void llvm::orc::EPCIndirectionUtils::ABISupport::writeTrampolines ( char * TrampolineBlockWorkingMem,
ExecutorAddr TrampolineBlockTragetAddr,
ExecutorAddr ResolverAddr,
unsigned NumTrampolines ) const
pure virtual

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