LLVM 23.0.0git
llvm::orc::EPCGenericDylibManager Class Reference

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

Inheritance diagram for llvm::orc::EPCGenericDylibManager:
[legend]

Classes

struct  SymbolAddrs
 Function addresses for memory access. More...

Public Types

using SymbolLookupCompleteFn
Public Types inherited from llvm::orc::DylibManager
using SymbolLookupCompleteFn

Public Member Functions

 EPCGenericDylibManager (ExecutorProcessControl &EPC, SymbolAddrs SAs)
 Create an EPCGenericDylibManager instance from a given set of function addrs.
LLVM_ABI Expected< tpctypes::DylibHandleopen (StringRef Path, uint64_t Mode)
 Loads the dylib with the given name.
Expected< tpctypes::LookupResultlookup (tpctypes::DylibHandle H, const SymbolLookupSet &Lookup)
 Looks up symbols within the given dylib.
Expected< tpctypes::LookupResultlookup (tpctypes::DylibHandle H, const RemoteSymbolLookupSet &Lookup)
 Looks up symbols within the given dylib.
LLVM_ABI void lookupAsync (tpctypes::DylibHandle H, const SymbolLookupSet &Lookup, SymbolLookupCompleteFn Complete)
 Looks up symbols within the given dylib.
LLVM_ABI void lookupAsync (tpctypes::DylibHandle H, const RemoteSymbolLookupSet &Lookup, SymbolLookupCompleteFn Complete)
 Looks up symbols within the given dylib.
LLVM_ABI Expected< tpctypes::DylibHandleloadDylib (const char *DylibPath) override
 Load the dynamic library at the given path and return a handle to it.
LLVM_ABI void lookupSymbolsAsync (tpctypes::DylibHandle H, const SymbolLookupSet &Symbols, DylibManager::SymbolLookupCompleteFn Complete) override
 Search for symbols in the target process.
Public Member Functions inherited from llvm::orc::DylibManager
virtual ~DylibManager ()
Expected< tpctypes::LookupResultlookupSymbols (tpctypes::DylibHandle H, const SymbolLookupSet &Symbols)
 Search for symbols in the target process.

Static Public Member Functions

static LLVM_ABI Expected< EPCGenericDylibManagerCreateWithDefaultBootstrapSymbols (ExecutorProcessControl &EPC)
 Create an EPCGenericDylibManager instance by looking up the LLVM-style SimpleExecutorDylibManager symbol names in the EPC's bootstrap table.
static LLVM_ABI Expected< EPCGenericDylibManagerCreate (JITDylib &JD, rt::SimpleExecutorDylibManagerSymbolNames SNs=rt::orc_rt_NativeDylibManagerSPSSymbols)
 Create an EPCGenericDylibManager using the given implementation symbol names.
static LLVM_ABI Expected< EPCGenericDylibManagerCreate (ExecutionSession &ES, rt::SimpleExecutorDylibManagerSymbolNames SNs=rt::orc_rt_NativeDylibManagerSPSSymbols)
 Create an EPCGenericDylibManager using the given implementation symbol names.

Detailed Description

Definition at line 34 of file EPCGenericDylibManager.h.

Member Typedef Documentation

◆ SymbolLookupCompleteFn

Initial value:
Tagged union holding either a T or a Error.
Definition Error.h:485
unique_function is a type-erasing functor similar to std::function.

Definition at line 87 of file EPCGenericDylibManager.h.

Constructor & Destructor Documentation

◆ EPCGenericDylibManager()

llvm::orc::EPCGenericDylibManager::EPCGenericDylibManager ( ExecutorProcessControl & EPC,
SymbolAddrs SAs )
inline

Create an EPCGenericDylibManager instance from a given set of function addrs.

Definition at line 63 of file EPCGenericDylibManager.h.

Referenced by Create().

Member Function Documentation

◆ Create() [1/2]

Create an EPCGenericDylibManager using the given implementation symbol names.

These will be looked up in the given ExecutionSession's bootstrap JITDylib.

Definition at line 74 of file EPCGenericDylibManager.cpp.

References Create(), and llvm::orc::ExecutionSession::getBootstrapJITDylib().

◆ Create() [2/2]

◆ CreateWithDefaultBootstrapSymbols()

Expected< EPCGenericDylibManager > llvm::orc::EPCGenericDylibManager::CreateWithDefaultBootstrapSymbols ( ExecutorProcessControl & EPC)
static

Create an EPCGenericDylibManager instance by looking up the LLVM-style SimpleExecutorDylibManager symbol names in the EPC's bootstrap table.

Definition at line 46 of file EPCGenericDylibManager.cpp.

Referenced by llvm::orc::SimpleRemoteEPC::createDefaultDylibMgr().

◆ loadDylib()

Expected< tpctypes::DylibHandle > llvm::orc::EPCGenericDylibManager::loadDylib ( const char * DylibPath)
overridevirtual

Load the dynamic library at the given path and return a handle to it.

If DylibPath is null this function will return the global handle for the target process.

Implements llvm::orc::DylibManager.

Definition at line 126 of file EPCGenericDylibManager.cpp.

References loadDylib(), and open().

Referenced by loadDylib().

◆ lookup() [1/2]

Expected< tpctypes::LookupResult > llvm::orc::EPCGenericDylibManager::lookup ( tpctypes::DylibHandle H,
const RemoteSymbolLookupSet & Lookup )
inline

Looks up symbols within the given dylib.

Definition at line 79 of file EPCGenericDylibManager.h.

References H, Lookup(), and lookupAsync().

◆ lookup() [2/2]

Expected< tpctypes::LookupResult > llvm::orc::EPCGenericDylibManager::lookup ( tpctypes::DylibHandle H,
const SymbolLookupSet & Lookup )
inline

Looks up symbols within the given dylib.

Definition at line 70 of file EPCGenericDylibManager.h.

References H, Lookup(), and lookupAsync().

◆ lookupAsync() [1/2]

void llvm::orc::EPCGenericDylibManager::lookupAsync ( tpctypes::DylibHandle H,
const RemoteSymbolLookupSet & Lookup,
SymbolLookupCompleteFn Complete )

Looks up symbols within the given dylib.

Definition at line 107 of file EPCGenericDylibManager.cpp.

References llvm::cantFail(), H, Lookup(), lookupAsync(), and llvm::orc::Result.

◆ lookupAsync() [2/2]

void llvm::orc::EPCGenericDylibManager::lookupAsync ( tpctypes::DylibHandle H,
const SymbolLookupSet & Lookup,
SymbolLookupCompleteFn Complete )

Looks up symbols within the given dylib.

Definition at line 89 of file EPCGenericDylibManager.cpp.

References llvm::cantFail(), H, Lookup(), lookupAsync(), and llvm::orc::Result.

Referenced by lookup(), lookup(), lookupAsync(), lookupAsync(), and lookupSymbolsAsync().

◆ lookupSymbolsAsync()

void llvm::orc::EPCGenericDylibManager::lookupSymbolsAsync ( tpctypes::DylibHandle H,
const SymbolLookupSet & Symbols,
DylibManager::SymbolLookupCompleteFn Complete )
overridevirtual

Search for symbols in the target process.

Implements llvm::orc::DylibManager.

Definition at line 130 of file EPCGenericDylibManager.cpp.

References H, lookupAsync(), and lookupSymbolsAsync().

Referenced by lookupSymbolsAsync().

◆ open()

Expected< tpctypes::DylibHandle > llvm::orc::EPCGenericDylibManager::open ( StringRef Path,
uint64_t Mode )

Loads the dylib with the given name.

Definition at line 79 of file EPCGenericDylibManager.cpp.

References H, Mode, and open().

Referenced by loadDylib(), and open().


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