LLVM  3.7.0
Public Member Functions | List of all members
llvm::orc::JITCompileCallbackManager< JITLayerT, TargetT > Class Template Reference

Manage compile callbacks. More...

#include <IndirectionUtils.h>

Inheritance diagram for llvm::orc::JITCompileCallbackManager< JITLayerT, TargetT >:
[legend]
Collaboration diagram for llvm::orc::JITCompileCallbackManager< JITLayerT, TargetT >:
[legend]

Public Member Functions

 JITCompileCallbackManager (JITLayerT &JIT, RuntimeDyld::MemoryManager &MemMgr, LLVMContext &Context, TargetAddress ErrorHandlerAddress, unsigned NumTrampolinesPerBlock)
 Construct a JITCompileCallbackManager. More...
 
CompileCallbackInfo getCompileCallback (LLVMContext &Context) final
 Get/create a compile callback with the given signature. More...
 
- Public Member Functions inherited from llvm::orc::JITCompileCallbackManagerBase
 JITCompileCallbackManagerBase (TargetAddress ErrorHandlerAddress, unsigned NumTrampolinesPerBlock)
 Construct a JITCompileCallbackManagerBase. More...
 
virtual ~JITCompileCallbackManagerBase ()
 
TargetAddress executeCompileCallback (TargetAddress TrampolineAddr)
 Execute the callback for the given trampoline id. More...
 
CompileCallbackInfo getCompileCallbackInfo (TargetAddress TrampolineAddr)
 Get a CompileCallbackInfo for an existing callback. More...
 
void releaseCompileCallback (TargetAddress TrampolineAddr)
 Release a compile callback. More...
 

Additional Inherited Members

- Public Types inherited from llvm::orc::JITCompileCallbackManagerBase
typedef std::function
< TargetAddress()> 
CompileFtor
 
- Protected Types inherited from llvm::orc::JITCompileCallbackManagerBase
typedef std::map
< TargetAddress, CompileFtor
TrampolineMapT
 
- Protected Attributes inherited from llvm::orc::JITCompileCallbackManagerBase
TargetAddress ErrorHandlerAddress
 
unsigned NumTrampolinesPerBlock
 
TrampolineMapT ActiveTrampolines
 
std::vector< TargetAddressAvailableTrampolines
 

Detailed Description

template<typename JITLayerT, typename TargetT>
class llvm::orc::JITCompileCallbackManager< JITLayerT, TargetT >

Manage compile callbacks.

Definition at line 125 of file IndirectionUtils.h.

Constructor & Destructor Documentation

template<typename JITLayerT , typename TargetT >
llvm::orc::JITCompileCallbackManager< JITLayerT, TargetT >::JITCompileCallbackManager ( JITLayerT &  JIT,
RuntimeDyld::MemoryManager MemMgr,
LLVMContext Context,
TargetAddress  ErrorHandlerAddress,
unsigned  NumTrampolinesPerBlock 
)
inline

Construct a JITCompileCallbackManager.

Parameters
JITJIT layer to emit callback trampolines, etc. into.
ContextLLVMContext to use for trampoline & resolve block modules.
ErrorHandlerAddressThe address of an error handler in the target process to be used if a compile callback fails.
NumTrampolinesPerBlockNumber of trampolines to allocate whenever there is no existing callback trampoline. (Trampolines are allocated in blocks for efficiency.)

Definition at line 137 of file IndirectionUtils.h.

Member Function Documentation

template<typename JITLayerT , typename TargetT >
CompileCallbackInfo llvm::orc::JITCompileCallbackManager< JITLayerT, TargetT >::getCompileCallback ( LLVMContext Context)
inlinefinalvirtual

Get/create a compile callback with the given signature.

Implements llvm::orc::JITCompileCallbackManagerBase.

Definition at line 148 of file IndirectionUtils.h.

References llvm::orc::JITCompileCallbackManagerBase::ActiveTrampolines.


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