LLVM  8.0.1
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
[legend]
Collaboration diagram for llvm::orc::OrcX86_64_SysV:
Collaboration graph
[legend]

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 
)
static

Write the resolver code into the given memory.

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

Definition at line 273 of file OrcABISupport.cpp.

References llvm::Intrinsic::memcpy.

Member Data Documentation

◆ ResolverCodeSize

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

Definition at line 179 of file OrcABISupport.h.


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