|
LLVM
3.7.0
|
Base class for JITLayer independent aspects of JITCompileCallbackManager. More...
#include <IndirectionUtils.h>
Classes | |
| class | CompileCallbackInfo |
| Handle to a newly created compile callback. More... | |
Public Types | |
| typedef std::function < TargetAddress()> | CompileFtor |
Public Member Functions | |
| JITCompileCallbackManagerBase (TargetAddress ErrorHandlerAddress, unsigned NumTrampolinesPerBlock) | |
| Construct a JITCompileCallbackManagerBase. More... | |
| virtual | ~JITCompileCallbackManagerBase () |
| TargetAddress | executeCompileCallback (TargetAddress TrampolineAddr) |
| Execute the callback for the given trampoline id. More... | |
| virtual CompileCallbackInfo | getCompileCallback (LLVMContext &Context)=0 |
| Reserve a compile callback. More... | |
| CompileCallbackInfo | getCompileCallbackInfo (TargetAddress TrampolineAddr) |
| Get a CompileCallbackInfo for an existing callback. More... | |
| void | releaseCompileCallback (TargetAddress TrampolineAddr) |
| Release a compile callback. More... | |
Protected Types | |
| typedef std::map < TargetAddress, CompileFtor > | TrampolineMapT |
Protected Attributes | |
| TargetAddress | ErrorHandlerAddress |
| unsigned | NumTrampolinesPerBlock |
| TrampolineMapT | ActiveTrampolines |
| std::vector< TargetAddress > | AvailableTrampolines |
Base class for JITLayer independent aspects of JITCompileCallbackManager.
Definition at line 32 of file IndirectionUtils.h.
Definition at line 35 of file IndirectionUtils.h.
|
protected |
Definition at line 118 of file IndirectionUtils.h.
|
inline |
Construct a JITCompileCallbackManagerBase.
| ErrorHandlerAddress | The address of an error handler in the target process to be used if a compile callback fails. |
| NumTrampolinesPerBlock | Number of trampolines to emit if there is no available trampoline when getCompileCallback is called. |
Definition at line 60 of file IndirectionUtils.h.
|
inlinevirtual |
Definition at line 65 of file IndirectionUtils.h.
|
inline |
Execute the callback for the given trampoline id.
Called by the JIT to compile functions on demand.
Definition at line 69 of file IndirectionUtils.h.
References ActiveTrampolines, AvailableTrampolines, ErrorHandlerAddress, and I.
|
pure virtual |
Reserve a compile callback.
Implemented in llvm::orc::JITCompileCallbackManager< JITLayerT, TargetT >.
|
inline |
Get a CompileCallbackInfo for an existing callback.
Definition at line 96 of file IndirectionUtils.h.
References ActiveTrampolines, and I.
|
inline |
Release a compile callback.
Note: Callbacks are auto-released after they execute. This method should only be called to manually release a callback that is not going to execute.
Definition at line 107 of file IndirectionUtils.h.
References ActiveTrampolines, AvailableTrampolines, and I.
|
protected |
Definition at line 119 of file IndirectionUtils.h.
Referenced by executeCompileCallback(), llvm::orc::JITCompileCallbackManager< JITLayerT, TargetT >::getCompileCallback(), getCompileCallbackInfo(), and releaseCompileCallback().
|
protected |
Definition at line 120 of file IndirectionUtils.h.
Referenced by executeCompileCallback(), and releaseCompileCallback().
|
protected |
Definition at line 115 of file IndirectionUtils.h.
Referenced by executeCompileCallback().
|
protected |
Definition at line 116 of file IndirectionUtils.h.
1.8.6