LLVM 19.0.0git
Public Member Functions | Protected Member Functions | List of all members
llvm::orc::EPCIndirectionUtils::ABISupport Class Referenceabstract

ABI support base class. More...

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

Inheritance diagram for llvm::orc::EPCIndirectionUtils::ABISupport:
Inheritance graph
[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 36 of file EPCIndirectionUtils.h.

Constructor & Destructor Documentation

◆ ABISupport()

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

Definition at line 38 of file EPCIndirectionUtils.h.

◆ ~ABISupport()

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

Member Function Documentation

◆ getPointerSize()

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

Definition at line 48 of file EPCIndirectionUtils.h.

◆ getResolverCodeSize()

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

Definition at line 54 of file EPCIndirectionUtils.h.

◆ getStubSize()

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

Definition at line 50 of file EPCIndirectionUtils.h.

◆ getStubToPointerMaxDisplacement()

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

Definition at line 51 of file EPCIndirectionUtils.h.

◆ getTrampolineSize()

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

Definition at line 49 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: