LLVM  6.0.0svn
Public Types | Public Member Functions | List of all members
llvm::orc::IndirectStubsManager Class Referenceabstract

Base class for managing collections of named indirect stubs. More...

#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h"

Inheritance diagram for llvm::orc::IndirectStubsManager:
Inheritance graph
[legend]

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 JITSymbol findStub (StringRef Name, bool ExportedStubsOnly)=0
 Find the stub with the given name. More...
 
virtual JITSymbol 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...
 

Detailed Description

Base class for managing collections of named indirect stubs.

Definition at line 233 of file IndirectionUtils.h.

Member Typedef Documentation

◆ StubInitsMap

Map type for initializing the manager. See init.

Definition at line 236 of file IndirectionUtils.h.

Constructor & Destructor Documentation

◆ ~IndirectStubsManager()

virtual llvm::orc::IndirectStubsManager::~IndirectStubsManager ( )
virtualdefault

Member Function Documentation

◆ createStub()

virtual Error llvm::orc::IndirectStubsManager::createStub ( StringRef  StubName,
JITTargetAddress  StubAddr,
JITSymbolFlags  StubFlags 
)
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 >.

◆ createStubs()

virtual Error llvm::orc::IndirectStubsManager::createStubs ( const StubInitsMap StubInits)
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 >.

◆ findPointer()

virtual JITSymbol llvm::orc::IndirectStubsManager::findPointer ( StringRef  Name)
pure virtual

◆ findStub()

virtual JITSymbol llvm::orc::IndirectStubsManager::findStub ( StringRef  Name,
bool  ExportedStubsOnly 
)
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 >.

◆ updatePointer()

virtual Error llvm::orc::IndirectStubsManager::updatePointer ( StringRef  Name,
JITTargetAddress  NewAddr 
)
pure virtual

Change the value of the implementation pointer for the stub.

Implemented in llvm::orc::remote::OrcRemoteTargetClient::RemoteIndirectStubsManager, and llvm::orc::LocalIndirectStubsManager< TargetT >.


The documentation for this class was generated from the following files: