LLVM  8.0.1
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
[legend]

Classes

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 architecure 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 37 of file OrcABISupport.h.

Member Typedef Documentation

◆ JITReentryFn

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

Definition at line 44 of file OrcABISupport.h.

Member Function Documentation

◆ emitIndirectStubsBlock()

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

Definition at line 67 of file OrcABISupport.h.

References llvm_unreachable.

◆ writeResolverCode()

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

Definition at line 46 of file OrcABISupport.h.

References llvm_unreachable.

◆ writeTrampolines()

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

Definition at line 52 of file OrcABISupport.h.

References llvm_unreachable.

Member Data Documentation

◆ PointerSize

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

Definition at line 39 of file OrcABISupport.h.

◆ ResolverCodeSize

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

Definition at line 41 of file OrcABISupport.h.

◆ TrampolineSize

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

Definition at line 40 of file OrcABISupport.h.


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