class JITLinkerBase
Declaration
class JITLinkerBase { /* full declaration omitted */ };
Description
Base class for a JIT linker. A JITLinkerBase instance links one object file into an ongoing JIT session. Symbol resolution and finalization operations are pluggable, and called using continuation passing (passing a continuation for the remaining linker work) to allow them to be performed asynchronously.
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:30
Member Variables
- private std::unique_ptr<JITLinkContext> Ctx
- private std::unique_ptr<LinkGraph> G
- private llvm::jitlink::PassConfiguration Passes
- private std::unique_ptr<InFlightAlloc> Alloc
Method Overview
- public JITLinkerBase(std::unique_ptr<JITLinkContext> Ctx, std::unique_ptr<LinkGraph> G, llvm::jitlink::PassConfiguration Passes)
- private void abandonAllocAndBailOut(std::unique_ptr<JITLinkerBase> Self, llvm::Error Err)
- private void applyLookupResult(llvm::jitlink::AsyncLookupResult LR)
- private virtual llvm::Error fixUpBlocks(llvm::jitlink::LinkGraph & G) const
- private JITLinkContext::LookupMap getExternalSymbolNames() const
- protected llvm::jitlink::PassConfiguration & getPassConfig()
- protected void linkPhase1(std::unique_ptr<JITLinkerBase> Self)
- protected void linkPhase2(std::unique_ptr<JITLinkerBase> Self, llvm::jitlink::JITLinkerBase::AllocResult AR)
- protected void linkPhase3(std::unique_ptr<JITLinkerBase> Self, Expected<llvm::jitlink::AsyncLookupResult> LookupResult)
- protected void linkPhase4(std::unique_ptr<JITLinkerBase> Self, llvm::jitlink::JITLinkerBase::FinalizeResult FR)
- private llvm::Error runPasses(llvm::jitlink::LinkGraphPassList & Passes)
- public virtual ~JITLinkerBase()
Methods
¶JITLinkerBase(
std::unique_ptr<JITLinkContext> Ctx,
std::unique_ptr<LinkGraph> G,
llvm::jitlink::PassConfiguration Passes)
JITLinkerBase(
std::unique_ptr<JITLinkContext> Ctx,
std::unique_ptr<LinkGraph> G,
llvm::jitlink::PassConfiguration Passes)
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:32
Parameters
- std::unique_ptr<JITLinkContext> Ctx
- std::unique_ptr<LinkGraph> G
- llvm::jitlink::PassConfiguration Passes
¶void abandonAllocAndBailOut(
std::unique_ptr<JITLinkerBase> Self,
llvm::Error Err)
void abandonAllocAndBailOut(
std::unique_ptr<JITLinkerBase> Self,
llvm::Error Err)
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:89
Parameters
- std::unique_ptr<JITLinkerBase> Self
- llvm::Error Err
¶void applyLookupResult(
llvm::jitlink::AsyncLookupResult LR)
void applyLookupResult(
llvm::jitlink::AsyncLookupResult LR)
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:88
Parameters
¶virtual llvm::Error fixUpBlocks(
llvm::jitlink::LinkGraph& G) const
virtual llvm::Error fixUpBlocks(
llvm::jitlink::LinkGraph& G) const
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:85
Parameters
¶JITLinkContext::LookupMap getExternalSymbolNames()
const
JITLinkContext::LookupMap getExternalSymbolNames()
const
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:87
¶llvm::jitlink::PassConfiguration& getPassConfig()
llvm::jitlink::PassConfiguration& getPassConfig()
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:50
¶void linkPhase1(
std::unique_ptr<JITLinkerBase> Self)
void linkPhase1(
std::unique_ptr<JITLinkerBase> Self)
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:57
Parameters
- std::unique_ptr<JITLinkerBase> Self
¶void linkPhase2(
std::unique_ptr<JITLinkerBase> Self,
llvm::jitlink::JITLinkerBase::AllocResult AR)
void linkPhase2(
std::unique_ptr<JITLinkerBase> Self,
llvm::jitlink::JITLinkerBase::AllocResult AR)
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:63
Parameters
- std::unique_ptr<JITLinkerBase> Self
- llvm::jitlink::JITLinkerBase::AllocResult AR
¶void linkPhase3(
std::unique_ptr<JITLinkerBase> Self,
Expected<llvm::jitlink::AsyncLookupResult>
LookupResult)
void linkPhase3(
std::unique_ptr<JITLinkerBase> Self,
Expected<llvm::jitlink::AsyncLookupResult>
LookupResult)
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:71
Parameters
- std::unique_ptr<JITLinkerBase> Self
- Expected<llvm::jitlink::AsyncLookupResult> LookupResult
¶void linkPhase4(
std::unique_ptr<JITLinkerBase> Self,
llvm::jitlink::JITLinkerBase::FinalizeResult
FR)
void linkPhase4(
std::unique_ptr<JITLinkerBase> Self,
llvm::jitlink::JITLinkerBase::FinalizeResult
FR)
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:76
Parameters
- std::unique_ptr<JITLinkerBase> Self
- llvm::jitlink::JITLinkerBase::FinalizeResult FR
¶llvm::Error runPasses(
llvm::jitlink::LinkGraphPassList& Passes)
llvm::Error runPasses(
llvm::jitlink::LinkGraphPassList& Passes)
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:81
Parameters
- llvm::jitlink::LinkGraphPassList& Passes
¶virtual ~JITLinkerBase()
virtual ~JITLinkerBase()
Declared at: llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h:39