LLVM  15.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, JITTargetAddress ResolverTargetAddr, JITTargetAddress ReentryFnAddr, JITTargetAddress ReentryCtxAddr) const =0
 
virtual void writeTrampolines (char *TrampolineBlockWorkingMem, JITTargetAddress TrampolineBlockTragetAddr, JITTargetAddress ResolverAddr, unsigned NumTrampolines) const =0
 
virtual void writeIndirectStubsBlock (char *StubsBlockWorkingMem, JITTargetAddress StubsBlockTargetAddress, JITTargetAddress 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,
JITTargetAddress  StubsBlockTargetAddress,
JITTargetAddress  PointersBlockTargetAddress,
unsigned  NumStubs 
) const
pure virtual

◆ writeResolverCode()

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

◆ writeTrampolines()

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

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