class OrcGenericABI

Declaration

class OrcGenericABI { /* full declaration omitted */ };

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.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h:55

Member Variables

public static const unsigned int PointerSize = sizeof(unsigned long)
public static const unsigned int TrampolineSize = 1
public static const unsigned int StubSize = 1
public static const unsigned int StubToPointerMaxDisplacement = 1
public static const unsigned int ResolverCodeSize = 1

Method Overview

  • public static void writeIndirectStubsBlock(char * StubsBlockWorkingMem, llvm::JITTargetAddress StubsBlockTargetAddress, llvm::JITTargetAddress PointersBlockTargetAddress, unsigned int NumStubs)
  • public static void writeResolverCode(char * ResolveWorkingMem, llvm::JITTargetAddress ResolverTargetAddr, llvm::JITTargetAddress ReentryFnAddr, llvm::JITTargetAddress ReentryCtxAddr)
  • public static void writeTrampolines(char * TrampolineBlockWorkingMem, llvm::JITTargetAddress TrampolineBlockTargetAddr, llvm::JITTargetAddress ResolverAddr, unsigned int NumTrampolines)

Methods

static void writeIndirectStubsBlock(
    char* StubsBlockWorkingMem,
    llvm::JITTargetAddress
        StubsBlockTargetAddress,
    llvm::JITTargetAddress
        PointersBlockTargetAddress,
    unsigned int NumStubs)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h:79

Parameters

char* StubsBlockWorkingMem
llvm::JITTargetAddress StubsBlockTargetAddress
llvm::JITTargetAddress PointersBlockTargetAddress
unsigned int NumStubs

static void writeResolverCode(
    char* ResolveWorkingMem,
    llvm::JITTargetAddress ResolverTargetAddr,
    llvm::JITTargetAddress ReentryFnAddr,
    llvm::JITTargetAddress ReentryCtxAddr)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h:63

Parameters

char* ResolveWorkingMem
llvm::JITTargetAddress ResolverTargetAddr
llvm::JITTargetAddress ReentryFnAddr
llvm::JITTargetAddress ReentryCtxAddr

static void writeTrampolines(
    char* TrampolineBlockWorkingMem,
    llvm::JITTargetAddress
        TrampolineBlockTargetAddr,
    llvm::JITTargetAddress ResolverAddr,
    unsigned int NumTrampolines)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h:71

Parameters

char* TrampolineBlockWorkingMem
llvm::JITTargetAddress TrampolineBlockTargetAddr
llvm::JITTargetAddress ResolverAddr
unsigned int NumTrampolines