LLVM  7.0.0svn
Public Types | Public Member Functions | Protected Attributes | List of all members
llvm::orc::JITCompileCallbackManager Class Referenceabstract

Target-independent base class for compile callback management. More...

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

Inheritance diagram for llvm::orc::JITCompileCallbackManager:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::JITCompileCallbackManager:
Collaboration graph
[legend]

Public Types

using CompileFunction = std::function< JITTargetAddress()>
 

Public Member Functions

 JITCompileCallbackManager (ExecutionSession &ES, JITTargetAddress ErrorHandlerAddress)
 Construct a JITCompileCallbackManager. More...
 
virtual ~JITCompileCallbackManager ()=default
 
Expected< JITTargetAddressgetCompileCallback (CompileFunction Compile)
 Reserve a compile callback. More...
 
JITTargetAddress executeCompileCallback (JITTargetAddress TrampolineAddr)
 Execute the callback for the given trampoline id. More...
 

Protected Attributes

std::vector< JITTargetAddressAvailableTrampolines
 

Detailed Description

Target-independent base class for compile callback management.

Definition at line 51 of file IndirectionUtils.h.

Member Typedef Documentation

◆ CompileFunction

Definition at line 53 of file IndirectionUtils.h.

Constructor & Destructor Documentation

◆ JITCompileCallbackManager()

llvm::orc::JITCompileCallbackManager::JITCompileCallbackManager ( ExecutionSession ES,
JITTargetAddress  ErrorHandlerAddress 
)
inline

Construct a JITCompileCallbackManager.

Parameters
ErrorHandlerAddressThe address of an error handler in the target process to be used if a compile callback fails.

Definition at line 58 of file IndirectionUtils.h.

References executeCompileCallback(), getCompileCallback(), and ~JITCompileCallbackManager().

◆ ~JITCompileCallbackManager()

virtual llvm::orc::JITCompileCallbackManager::~JITCompileCallbackManager ( )
virtualdefault

Member Function Documentation

◆ executeCompileCallback()

JITTargetAddress llvm::orc::JITCompileCallbackManager::executeCompileCallback ( JITTargetAddress  TrampolineAddr)

Execute the callback for the given trampoline id.

Called by the JIT to compile functions on demand.

Definition at line 74 of file IndirectionUtils.cpp.

References llvm::format(), I, llvm::inconvertibleErrorCode(), llvm::Lock, and llvm::orc::lookup().

Referenced by JITCompileCallbackManager(), and llvm::orc::LocalJITCompileCallbackManager< TargetT >::LocalJITCompileCallbackManager().

◆ getCompileCallback()

Expected< JITTargetAddress > llvm::orc::JITCompileCallbackManager::getCompileCallback ( CompileFunction  Compile)

Reserve a compile callback.

Definition at line 59 of file IndirectionUtils.cpp.

References llvm::cantFail(), llvm::Lock, and llvm::to_string().

Referenced by llvm::orc::CompileOnDemandLayer2::emit(), and JITCompileCallbackManager().

Member Data Documentation

◆ AvailableTrampolines

std::vector<JITTargetAddress> llvm::orc::JITCompileCallbackManager::AvailableTrampolines
protected

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