class EPCDynamicLibrarySearchGenerator
Declaration
class EPCDynamicLibrarySearchGenerator : public DefinitionGenerator { /* full declaration omitted */ };
Description
Definition generators can be attached to JITDylibs to generate new definitions for otherwise unresolved symbols during lookup.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h:25
Inherits from: DefinitionGenerator
Member Variables
- private llvm::orc::ExecutorProcessControl& EPC
- private tpctypes::DylibHandle H
- private llvm::orc::EPCDynamicLibrarySearchGenerator:: SymbolPredicate Allow
Method Overview
- public EPCDynamicLibrarySearchGenerator(llvm::orc::ExecutionSession & ES, tpctypes::DylibHandle H, llvm::orc::EPCDynamicLibrarySearchGenerator::SymbolPredicate Allow = llvm::unique_function<bool (const llvm::orc::SymbolStringPtr &)>())
- public static Expected<std::unique_ptr<EPCDynamicLibrarySearchGenerator>> GetForTargetProcess(llvm::orc::ExecutionSession & ES, llvm::orc::EPCDynamicLibrarySearchGenerator::SymbolPredicate Allow = llvm::unique_function<bool (const llvm::orc::SymbolStringPtr &)>())
- public static Expected<std::unique_ptr<EPCDynamicLibrarySearchGenerator>> Load(llvm::orc::ExecutionSession & ES, const char * LibraryPath, llvm::orc::EPCDynamicLibrarySearchGenerator::SymbolPredicate Allow = llvm::unique_function<bool (const llvm::orc::SymbolStringPtr &)>())
- public llvm::Error tryToGenerate(llvm::orc::LookupState & LS, llvm::orc::LookupKind K, llvm::orc::JITDylib & JD, llvm::orc::JITDylibLookupFlags JDLookupFlags, const llvm::orc::SymbolLookupSet & Symbols)
Inherited from DefinitionGenerator:
Methods
¶EPCDynamicLibrarySearchGenerator(
llvm::orc::ExecutionSession& ES,
tpctypes::DylibHandle H,
llvm::orc::EPCDynamicLibrarySearchGenerator::
SymbolPredicate Allow =
llvm::unique_function<
bool(const llvm::orc::
SymbolStringPtr&)>())
EPCDynamicLibrarySearchGenerator(
llvm::orc::ExecutionSession& ES,
tpctypes::DylibHandle H,
llvm::orc::EPCDynamicLibrarySearchGenerator::
SymbolPredicate Allow =
llvm::unique_function<
bool(const llvm::orc::
SymbolStringPtr&)>())
Description
Create a DynamicLibrarySearchGenerator that searches for symbols in the library with the given handle. If the Allow predicate is given then only symbols matching the predicate will be searched for. If the predicate is not given then all symbols will be searched for.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h:35
Parameters
- llvm::orc::ExecutionSession& ES
- tpctypes::DylibHandle H
- llvm::orc::EPCDynamicLibrarySearchGenerator:: SymbolPredicate Allow = llvm::unique_function<bool (const llvm::orc::SymbolStringPtr &)>()
¶static Expected<std::unique_ptr<
EPCDynamicLibrarySearchGenerator>>
GetForTargetProcess(
llvm::orc::ExecutionSession& ES,
llvm::orc::EPCDynamicLibrarySearchGenerator::
SymbolPredicate Allow =
llvm::unique_function<
bool(const llvm::orc::
SymbolStringPtr&)>())
static Expected<std::unique_ptr<
EPCDynamicLibrarySearchGenerator>>
GetForTargetProcess(
llvm::orc::ExecutionSession& ES,
llvm::orc::EPCDynamicLibrarySearchGenerator::
SymbolPredicate Allow =
llvm::unique_function<
bool(const llvm::orc::
SymbolStringPtr&)>())
Description
Creates a EPCDynamicLibrarySearchGenerator that searches for symbols in the target process.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h:50
Parameters
- llvm::orc::ExecutionSession& ES
- llvm::orc::EPCDynamicLibrarySearchGenerator:: SymbolPredicate Allow = llvm::unique_function<bool (const llvm::orc::SymbolStringPtr &)>()
¶static Expected<std::unique_ptr<
EPCDynamicLibrarySearchGenerator>>
Load(llvm::orc::ExecutionSession& ES,
const char* LibraryPath,
llvm::orc::EPCDynamicLibrarySearchGenerator::
SymbolPredicate Allow =
llvm::unique_function<
bool(const llvm::orc::
SymbolStringPtr&)>())
static Expected<std::unique_ptr<
EPCDynamicLibrarySearchGenerator>>
Load(llvm::orc::ExecutionSession& ES,
const char* LibraryPath,
llvm::orc::EPCDynamicLibrarySearchGenerator::
SymbolPredicate Allow =
llvm::unique_function<
bool(const llvm::orc::
SymbolStringPtr&)>())
Description
Permanently loads the library at the given path and, on success, returns a DynamicLibrarySearchGenerator that will search it for symbol definitions in the library. On failure returns the reason the library failed to load.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h:44
Parameters
- llvm::orc::ExecutionSession& ES
- const char* LibraryPath
- llvm::orc::EPCDynamicLibrarySearchGenerator:: SymbolPredicate Allow = llvm::unique_function<bool (const llvm::orc::SymbolStringPtr &)>()
¶llvm::Error tryToGenerate(
llvm::orc::LookupState& LS,
llvm::orc::LookupKind K,
llvm::orc::JITDylib& JD,
llvm::orc::JITDylibLookupFlags JDLookupFlags,
const llvm::orc::SymbolLookupSet& Symbols)
llvm::Error tryToGenerate(
llvm::orc::LookupState& LS,
llvm::orc::LookupKind K,
llvm::orc::JITDylib& JD,
llvm::orc::JITDylibLookupFlags JDLookupFlags,
const llvm::orc::SymbolLookupSet& Symbols)
Description
DefinitionGenerators should override this method to insert new definitions into the parent JITDylib. K specifies the kind of this lookup. JD specifies the target JITDylib being searched, and JDLookupFlags specifies whether the search should match against hidden symbols. Finally, Symbols describes the set of unresolved symbols and their associated lookup flags.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h:55
Parameters
- llvm::orc::LookupState& LS
- llvm::orc::LookupKind K
- llvm::orc::JITDylib& JD
- llvm::orc::JITDylibLookupFlags JDLookupFlags
- const llvm::orc::SymbolLookupSet& Symbols