LLVM  11.0.0git
Classes | Public Types | Static Public Member Functions | Static Public Attributes | List of all members
llvm::orc::OrcGenericABI Class Reference

Generic ORC ABI support. More...

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

Collaboration diagram for llvm::orc::OrcGenericABI:
Collaboration graph


class  IndirectStubsInfo

Public Types

using JITReentryFn = JITTargetAddress(*)(void *CallbackMgr, void *TrampolineId)

Static Public Member Functions

static void writeResolverCode (uint8_t *ResolveMem, JITReentryFn Reentry, void *CallbackMgr)
static void writeTrampolines (uint8_t *TrampolineMem, void *ResolverAddr, unsigned NumTrampolines)
static Error emitIndirectStubsBlock (IndirectStubsInfo &StubsInfo, unsigned MinStubs, void *InitialPtrVal)

Static Public Attributes

static const unsigned PointerSize = sizeof(uintptr_t)
static const unsigned TrampolineSize = 1
static const 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 36 of file OrcABISupport.h.

Member Typedef Documentation

◆ JITReentryFn

using llvm::orc::OrcGenericABI::JITReentryFn = JITTargetAddress (*)(void *CallbackMgr, void *TrampolineId)

Definition at line 43 of file OrcABISupport.h.

Member Function Documentation

◆ emitIndirectStubsBlock()

static Error llvm::orc::OrcGenericABI::emitIndirectStubsBlock ( IndirectStubsInfo StubsInfo,
unsigned  MinStubs,
void *  InitialPtrVal 

Definition at line 66 of file OrcABISupport.h.

References llvm_unreachable.

◆ writeResolverCode()

static void llvm::orc::OrcGenericABI::writeResolverCode ( uint8_t *  ResolveMem,
JITReentryFn  Reentry,
void *  CallbackMgr 

Definition at line 45 of file OrcABISupport.h.

References llvm_unreachable.

◆ writeTrampolines()

static void llvm::orc::OrcGenericABI::writeTrampolines ( uint8_t *  TrampolineMem,
void *  ResolverAddr,
unsigned  NumTrampolines 

Definition at line 51 of file OrcABISupport.h.

References llvm_unreachable.

Member Data Documentation

◆ PointerSize

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

Definition at line 38 of file OrcABISupport.h.

◆ ResolverCodeSize

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

Definition at line 40 of file OrcABISupport.h.

◆ TrampolineSize

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

Definition at line 39 of file OrcABISupport.h.

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