LLVM
8.0.1
|
Base class for managing collections of named indirect stubs. More...
#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h"
Public Types | |
using | StubInitsMap = StringMap< std::pair< JITTargetAddress, JITSymbolFlags > > |
Map type for initializing the manager. See init. More... | |
Public Member Functions | |
virtual | ~IndirectStubsManager ()=default |
virtual Error | createStub (StringRef StubName, JITTargetAddress StubAddr, JITSymbolFlags StubFlags)=0 |
Create a single stub with the given name, target address and flags. More... | |
virtual Error | createStubs (const StubInitsMap &StubInits)=0 |
Create StubInits.size() stubs with the given names, target addresses, and flags. More... | |
virtual JITEvaluatedSymbol | findStub (StringRef Name, bool ExportedStubsOnly)=0 |
Find the stub with the given name. More... | |
virtual JITEvaluatedSymbol | findPointer (StringRef Name)=0 |
Find the implementation-pointer for the stub. More... | |
virtual Error | updatePointer (StringRef Name, JITTargetAddress NewAddr)=0 |
Change the value of the implementation pointer for the stub. More... | |
Base class for managing collections of named indirect stubs.
Definition at line 261 of file IndirectionUtils.h.
using llvm::orc::IndirectStubsManager::StubInitsMap = StringMap<std::pair<JITTargetAddress, JITSymbolFlags> > |
Map type for initializing the manager. See init.
Definition at line 264 of file IndirectionUtils.h.
|
virtualdefault |
|
pure virtual |
Create a single stub with the given name, target address and flags.
Implemented in llvm::orc::remote::OrcRemoteTargetClient::RemoteIndirectStubsManager, and llvm::orc::LocalIndirectStubsManager< TargetT >.
|
pure virtual |
Create StubInits.size() stubs with the given names, target addresses, and flags.
Implemented in llvm::orc::remote::OrcRemoteTargetClient::RemoteIndirectStubsManager, and llvm::orc::LocalIndirectStubsManager< TargetT >.
|
pure virtual |
Find the implementation-pointer for the stub.
Implemented in llvm::orc::remote::OrcRemoteTargetClient::RemoteIndirectStubsManager, and llvm::orc::LocalIndirectStubsManager< TargetT >.
|
pure virtual |
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.
Implemented in llvm::orc::remote::OrcRemoteTargetClient::RemoteIndirectStubsManager, and llvm::orc::LocalIndirectStubsManager< TargetT >.
|
pure virtual |
Change the value of the implementation pointer for the stub.
Implemented in llvm::orc::remote::OrcRemoteTargetClient::RemoteIndirectStubsManager, and llvm::orc::LocalIndirectStubsManager< TargetT >.
Referenced by llvm::orc::LazyReexportsMaterializationUnit::LazyReexportsMaterializationUnit().