LLVM  4.0.0
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 <OrcABISupport.h>

Collaboration diagram for llvm::orc::OrcGenericABI:
[legend]

Classes

class  IndirectStubsInfo
 

Public Types

typedef JITTargetAddress(* JITReentryFn )(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 34 of file OrcABISupport.h.

Member Typedef Documentation

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

Definition at line 40 of file OrcABISupport.h.

Member Function Documentation

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

Definition at line 63 of file OrcABISupport.h.

References llvm_unreachable.

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

Definition at line 43 of file OrcABISupport.h.

References llvm_unreachable.

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

Definition at line 49 of file OrcABISupport.h.

References llvm_unreachable.

Member Data Documentation

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

Definition at line 36 of file OrcABISupport.h.

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

Definition at line 38 of file OrcABISupport.h.

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

Definition at line 37 of file OrcABISupport.h.


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