LLVM 17.0.0git
Public Member Functions | List of all members
llvm::orc::detail::ABISupportImpl< ORCABI > Class Template Reference

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

Inheritance diagram for llvm::orc::detail::ABISupportImpl< ORCABI >:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::detail::ABISupportImpl< ORCABI >:
Collaboration graph
[legend]

Public Member Functions

 ABISupportImpl ()
 
void writeResolverCode (char *ResolverWorkingMem, ExecutorAddr ResolverTargetAddr, ExecutorAddr ReentryFnAddr, ExecutorAddr ReentryCtxAddr) const override
 
void writeTrampolines (char *TrampolineBlockWorkingMem, ExecutorAddr TrampolineBlockTargetAddr, ExecutorAddr ResolverAddr, unsigned NumTrampolines) const override
 
void writeIndirectStubsBlock (char *StubsBlockWorkingMem, ExecutorAddr StubsBlockTargetAddress, ExecutorAddr PointersBlockTargetAddress, unsigned NumStubs) const override
 
- Public Member Functions inherited from llvm::orc::EPCIndirectionUtils::ABISupport
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
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::orc::EPCIndirectionUtils::ABISupport
 ABISupport (unsigned PointerSize, unsigned TrampolineSize, unsigned StubSize, unsigned StubToPointerMaxDisplacement, unsigned ResolverCodeSize)
 

Detailed Description

template<typename ORCABI>
class llvm::orc::detail::ABISupportImpl< ORCABI >

Definition at line 172 of file EPCIndirectionUtils.h.

Constructor & Destructor Documentation

◆ ABISupportImpl()

template<typename ORCABI >
llvm::orc::detail::ABISupportImpl< ORCABI >::ABISupportImpl ( )
inline

Definition at line 174 of file EPCIndirectionUtils.h.

Member Function Documentation

◆ writeIndirectStubsBlock()

template<typename ORCABI >
void llvm::orc::detail::ABISupportImpl< ORCABI >::writeIndirectStubsBlock ( char StubsBlockWorkingMem,
ExecutorAddr  StubsBlockTargetAddress,
ExecutorAddr  PointersBlockTargetAddress,
unsigned  NumStubs 
) const
inlineoverridevirtual

Implements llvm::orc::EPCIndirectionUtils::ABISupport.

Definition at line 196 of file EPCIndirectionUtils.h.

◆ writeResolverCode()

template<typename ORCABI >
void llvm::orc::detail::ABISupportImpl< ORCABI >::writeResolverCode ( char ResolverWorkingMem,
ExecutorAddr  ResolverTargetAddr,
ExecutorAddr  ReentryFnAddr,
ExecutorAddr  ReentryCtxAddr 
) const
inlineoverridevirtual

Implements llvm::orc::EPCIndirectionUtils::ABISupport.

Definition at line 179 of file EPCIndirectionUtils.h.

◆ writeTrampolines()

template<typename ORCABI >
void llvm::orc::detail::ABISupportImpl< ORCABI >::writeTrampolines ( char TrampolineBlockWorkingMem,
ExecutorAddr  TrampolineBlockTargetAddr,
ExecutorAddr  ResolverAddr,
unsigned  NumTrampolines 
) const
inlineoverridevirtual

Implements llvm::orc::EPCIndirectionUtils::ABISupport.

Definition at line 187 of file EPCIndirectionUtils.h.


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