LLVM  6.0.0svn
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
llvm::orc::OrcX86_64_SysV Class Reference

X86_64 support for SysV ABI (Linux, MacOSX). More...

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

Inheritance diagram for llvm::orc::OrcX86_64_SysV:
Inheritance graph
Collaboration diagram for llvm::orc::OrcX86_64_SysV:
Collaboration graph

Public Types

using JITReentryFn = JITTargetAddress(*)(void *CallbackMgr, void *TrampolineId)
- Public Types inherited from llvm::orc::OrcX86_64_Base
using IndirectStubsInfo = GenericIndirectStubsInfo< 8 >

Static Public Member Functions

static void writeResolverCode (uint8_t *ResolveMem, JITReentryFn Reentry, void *CallbackMgr)
 Write the resolver code into the given memory. More...
- Static Public Member Functions inherited from llvm::orc::OrcX86_64_Base
static void writeTrampolines (uint8_t *TrampolineMem, void *ResolverAddr, unsigned NumTrampolines)
 Write the requsted number of trampolines into the given memory, which must be big enough to hold 1 pointer, plus NumTrampolines trampolines. More...
static Error emitIndirectStubsBlock (IndirectStubsInfo &StubsInfo, unsigned MinStubs, void *InitialPtrVal)
 Emit at least MinStubs worth of indirect call stubs, rounded out to the nearest page size. More...

Static Public Attributes

static const unsigned ResolverCodeSize = 0x6C
- Static Public Attributes inherited from llvm::orc::OrcX86_64_Base
static const unsigned PointerSize = 8
static const unsigned TrampolineSize = 8

Detailed Description

X86_64 support for SysV ABI (Linux, MacOSX).

X86_64_SysV supports lazy JITing.

Definition at line 177 of file OrcABISupport.h.

Member Typedef Documentation

◆ JITReentryFn

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

Definition at line 182 of file OrcABISupport.h.

Member Function Documentation

◆ writeResolverCode()

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

Write the resolver code into the given memory.

The user is be responsible for allocating the memory and setting permissions.

Definition at line 274 of file OrcABISupport.cpp.

Member Data Documentation

◆ ResolverCodeSize

const unsigned llvm::orc::OrcX86_64_SysV::ResolverCodeSize = 0x6C

Definition at line 179 of file OrcABISupport.h.

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