LLVM 20.0.0git
Classes | Public Types | Public Member Functions | List of all members
llvm::orc::DylibManager Class Referenceabstract

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

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

Classes

struct  LookupRequest
 A pair of a dylib and a set of symbols to be looked up. More...
 

Public Types

using SymbolLookupCompleteFn = unique_function< void(Expected< std::vector< tpctypes::LookupResult > >)>
 

Public Member Functions

virtual ~DylibManager ()
 
virtual Expected< tpctypes::DylibHandleloadDylib (const char *DylibPath)=0
 Load the dynamic library at the given path and return a handle to it.
 
Expected< std::vector< tpctypes::LookupResult > > lookupSymbols (ArrayRef< LookupRequest > Request)
 Search for symbols in the target process.
 
virtual void lookupSymbolsAsync (ArrayRef< LookupRequest > Request, SymbolLookupCompleteFn F)=0
 Search for symbols in the target process.
 

Detailed Description

Definition at line 28 of file DylibManager.h.

Member Typedef Documentation

◆ SymbolLookupCompleteFn

Definition at line 60 of file DylibManager.h.

Constructor & Destructor Documentation

◆ ~DylibManager()

llvm::orc::DylibManager::~DylibManager ( )
virtualdefault

Member Function Documentation

◆ loadDylib()

virtual Expected< tpctypes::DylibHandle > llvm::orc::DylibManager::loadDylib ( const char DylibPath)
pure virtual

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

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

Referenced by llvm::orc::EPCDynamicLibrarySearchGenerator::Load().

◆ lookupSymbols()

Expected< std::vector< tpctypes::LookupResult > > llvm::orc::DylibManager::lookupSymbols ( ArrayRef< LookupRequest Request)
inline

Search for symbols in the target process.

The result of the lookup is a 2-dimensional array of target addresses that correspond to the lookup order. If a required symbol is not found then this method will return an error. If a weakly referenced symbol is not found then it be assigned a '0' value.

Definition at line 52 of file DylibManager.h.

References lookupSymbolsAsync(), and llvm::orc::Result.

Referenced by llvm::orc::lookupAndRecordAddrs().

◆ lookupSymbolsAsync()

virtual void llvm::orc::DylibManager::lookupSymbolsAsync ( ArrayRef< LookupRequest Request,
SymbolLookupCompleteFn  F 
)
pure virtual

Search for symbols in the target process.

The result of the lookup is a 2-dimensional array of target addresses that correspond to the lookup order. If a required symbol is not found then this method will return an error. If a weakly referenced symbol is not found then it be assigned a '0' value.

Referenced by lookupSymbols(), and llvm::orc::EPCDynamicLibrarySearchGenerator::tryToGenerate().


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