class OrcX86_64_Base

Declaration

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

Description

X86_64 code that's common to all ABIs. X86_64 supports lazy JITing.

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

Member Variables

public static const unsigned int PointerSize = 8
public static const unsigned int TrampolineSize = 8
public static const unsigned int StubSize = 8
public static const unsigned int StubToPointerMaxDisplacement = 1 << 31

Method Overview

  • public static void writeIndirectStubsBlock(char * StubsBlockWorkingMem, llvm::JITTargetAddress StubsBlockTargetAddress, llvm::JITTargetAddress PointersBlockTargetAddress, unsigned int NumStubs)
  • public static void writeTrampolines(char * TrampolineBlockWorkingMem, llvm::JITTargetAddress TrampolineBlockTargetAddress, llvm::JITTargetAddress ResolverAddr, unsigned int NumTrampolines)

Methods

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

Description

Write NumStubs indirect stubs to working memory at StubsBlockWorkingMem. Stubs will be written as if linked at StubsBlockTargetAddress, with the Nth stub using the Nth pointer in memory starting at PointersBlockTargetAddress.

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

Parameters

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

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

Description

Write the requested number of trampolines into the given memory, which must be big enough to hold 1 pointer, plus NumTrampolines trampolines.

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

Parameters

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