LLVM 22.0.0git
|
IndirectStubsManager implementation for the host architecture, e.g. More...
#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h"
Public Member Functions | |
Error | createStub (StringRef StubName, ExecutorAddr StubAddr, JITSymbolFlags StubFlags) override |
Create a single stub with the given name, target address and flags. | |
Error | createStubs (const StubInitsMap &StubInits) override |
Create StubInits.size() stubs with the given names, target addresses, and flags. | |
ExecutorSymbolDef | findStub (StringRef Name, bool ExportedStubsOnly) override |
Find the stub with the given name. | |
ExecutorSymbolDef | findPointer (StringRef Name) override |
Find the implementation-pointer for the stub. | |
Error | updatePointer (StringRef Name, ExecutorAddr NewAddr) override |
Change the value of the implementation pointer for the stub. | |
Public Member Functions inherited from llvm::orc::IndirectStubsManager | |
virtual | ~IndirectStubsManager ()=default |
Error | redirect (JITDylib &JD, const SymbolMap &NewDests) override |
— RedirectableSymbolManager implementation — | |
void | emitRedirectableSymbols (std::unique_ptr< MaterializationResponsibility > MR, SymbolMap InitialDests) override |
Emit redirectable symbol. | |
Public Member Functions inherited from llvm::orc::RedirectableSymbolManager | |
LLVM_ABI Error | createRedirectableSymbols (ResourceTrackerSP RT, SymbolMap InitialDests) |
Create redirectable symbols with given symbol names and initial desitnation symbol addresses. | |
Error | createRedirectableSymbol (ResourceTrackerSP RT, SymbolStringPtr Symbol, ExecutorSymbolDef InitialDest) |
Create a single redirectable symbol with given symbol name and initial desitnation symbol address. | |
Public Member Functions inherited from llvm::orc::RedirectionManager | |
virtual | ~RedirectionManager ()=default |
Error | redirect (JITDylib &JD, SymbolStringPtr Symbol, ExecutorSymbolDef NewDest) |
Change the redirection destination of given symbol to new destination symbol. |
Additional Inherited Members | |
Public Types inherited from llvm::orc::IndirectStubsManager | |
using | StubInitsMap = StringMap<std::pair<ExecutorAddr, JITSymbolFlags>> |
Map type for initializing the manager. See init. |
IndirectStubsManager implementation for the host architecture, e.g.
OrcX86_64. (See OrcArchitectureSupport.h).
Definition at line 379 of file IndirectionUtils.h.
|
inlineoverridevirtual |
Create a single stub with the given name, target address and flags.
Implements llvm::orc::IndirectStubsManager.
Definition at line 381 of file IndirectionUtils.h.
References llvm::Error::success().
|
inlineoverridevirtual |
Create StubInits.size() stubs with the given names, target addresses, and flags.
Implements llvm::orc::IndirectStubsManager.
Definition at line 392 of file IndirectionUtils.h.
References llvm::StringMapImpl::size(), and llvm::Error::success().
|
inlineoverridevirtual |
Find the implementation-pointer for the stub.
Implements llvm::orc::IndirectStubsManager.
Definition at line 419 of file IndirectionUtils.h.
References assert(), llvm::orc::ExecutorAddr::fromPtr(), I, and llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key.
|
inlineoverridevirtual |
Find the stub with the given name.
If ExportedStubsOnly is true, this will only return a result if the stub's flags indicate that it is exported.
Implements llvm::orc::IndirectStubsManager.
Definition at line 404 of file IndirectionUtils.h.
References assert(), llvm::orc::ExecutorAddr::fromPtr(), I, and llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key.
|
inlineoverridevirtual |
Change the value of the implementation pointer for the stub.
Implements llvm::orc::IndirectStubsManager.
Definition at line 431 of file IndirectionUtils.h.
References assert(), llvm::orc::ExecutorAddr::getValue(), I, llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key, and llvm::Error::success().