LLVM 17.0.0git
Public Member Functions | List of all members
llvm::orc::LocalIndirectStubsManager< TargetT > Class Template Reference

IndirectStubsManager implementation for the host architecture, e.g. More...

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

Inheritance diagram for llvm::orc::LocalIndirectStubsManager< TargetT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::LocalIndirectStubsManager< TargetT >:
Collaboration graph
[legend]

Public Member Functions

Error createStub (StringRef StubName, JITTargetAddress 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.
 
JITEvaluatedSymbol findStub (StringRef Name, bool ExportedStubsOnly) override
 Find the stub with the given name.
 
JITEvaluatedSymbol findPointer (StringRef Name) override
 Find the implementation-pointer for the stub.
 
Error updatePointer (StringRef Name, JITTargetAddress NewAddr) override
 Change the value of the implementation pointer for the stub.
 
- Public Member Functions inherited from llvm::orc::IndirectStubsManager
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.
 
virtual Error createStubs (const StubInitsMap &StubInits)=0
 Create StubInits.size() stubs with the given names, target addresses, and flags.
 
virtual JITEvaluatedSymbol findStub (StringRef Name, bool ExportedStubsOnly)=0
 Find the stub with the given name.
 
virtual JITEvaluatedSymbol findPointer (StringRef Name)=0
 Find the implementation-pointer for the stub.
 
virtual Error updatePointer (StringRef Name, JITTargetAddress NewAddr)=0
 Change the value of the implementation pointer for the stub.
 

Additional Inherited Members

- Public Types inherited from llvm::orc::IndirectStubsManager
using StubInitsMap = StringMap< std::pair< JITTargetAddress, JITSymbolFlags > >
 Map type for initializing the manager. See init.
 

Detailed Description

template<typename TargetT>
class llvm::orc::LocalIndirectStubsManager< TargetT >

IndirectStubsManager implementation for the host architecture, e.g.

OrcX86_64. (See OrcArchitectureSupport.h).

Definition at line 370 of file IndirectionUtils.h.

Member Function Documentation

◆ createStub()

template<typename TargetT >
Error llvm::orc::LocalIndirectStubsManager< TargetT >::createStub ( StringRef  StubName,
JITTargetAddress  StubAddr,
JITSymbolFlags  StubFlags 
)
inlineoverridevirtual

Create a single stub with the given name, target address and flags.

Implements llvm::orc::IndirectStubsManager.

Definition at line 372 of file IndirectionUtils.h.

References llvm::Error::success().

◆ createStubs()

template<typename TargetT >
Error llvm::orc::LocalIndirectStubsManager< TargetT >::createStubs ( const StubInitsMap StubInits)
inlineoverridevirtual

Create StubInits.size() stubs with the given names, target addresses, and flags.

Implements llvm::orc::IndirectStubsManager.

Definition at line 383 of file IndirectionUtils.h.

References llvm::StringMapImpl::size(), and llvm::Error::success().

◆ findPointer()

template<typename TargetT >
JITEvaluatedSymbol llvm::orc::LocalIndirectStubsManager< TargetT >::findPointer ( StringRef  Name)
inlineoverridevirtual

Find the implementation-pointer for the stub.

Implements llvm::orc::IndirectStubsManager.

Definition at line 411 of file IndirectionUtils.h.

References assert(), I, and Name.

◆ findStub()

template<typename TargetT >
JITEvaluatedSymbol llvm::orc::LocalIndirectStubsManager< TargetT >::findStub ( StringRef  Name,
bool  ExportedStubsOnly 
)
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 395 of file IndirectionUtils.h.

References assert(), I, and Name.

◆ updatePointer()

template<typename TargetT >
Error llvm::orc::LocalIndirectStubsManager< TargetT >::updatePointer ( StringRef  Name,
JITTargetAddress  NewAddr 
)
inlineoverridevirtual

Change the value of the implementation pointer for the stub.

Implements llvm::orc::IndirectStubsManager.

Definition at line 424 of file IndirectionUtils.h.

References assert(), I, Name, and llvm::Error::success().


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