LLVM
8.0.1
|
A trampoline pool for trampolines within the current process. More...
#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h"
Public Types | |
using | GetTrampolineLandingFunction = std::function< JITTargetAddress(JITTargetAddress TrampolineAddr)> |
Public Member Functions | |
Expected< JITTargetAddress > | getTrampoline () override |
Get a free trampoline. More... | |
void | releaseTrampoline (JITTargetAddress TrampolineAddr) |
Returns the given trampoline to the pool for re-use. More... | |
Public Member Functions inherited from llvm::orc::TrampolinePool | |
virtual | ~TrampolinePool () |
Static Public Member Functions | |
static Expected< std::unique_ptr< LocalTrampolinePool > > | Create (GetTrampolineLandingFunction GetTrampolineLanding) |
Creates a LocalTrampolinePool with the given RunCallback function. More... | |
A trampoline pool for trampolines within the current process.
Definition at line 68 of file IndirectionUtils.h.
using llvm::orc::LocalTrampolinePool< ORCABI >::GetTrampolineLandingFunction = std::function<JITTargetAddress(JITTargetAddress TrampolineAddr)> |
Definition at line 71 of file IndirectionUtils.h.
|
inlinestatic |
Creates a LocalTrampolinePool with the given RunCallback function.
Returns an error if this function is unable to correctly allocate, write and protect the resolver code block.
Definition at line 77 of file IndirectionUtils.h.
|
inlineoverridevirtual |
Get a free trampoline.
Returns an error if one can not be provide (e.g. because the pool is empty and can not be grown).
Implements llvm::orc::TrampolinePool.
Definition at line 90 of file IndirectionUtils.h.
References llvm::Lock.
|
inline |
Returns the given trampoline to the pool for re-use.
Definition at line 103 of file IndirectionUtils.h.
References llvm::Lock.