class LazyReexportsMaterializationUnit
Declaration
class LazyReexportsMaterializationUnit : public MaterializationUnit { /* full declaration omitted */ };
Description
A materialization unit that builds lazy re-exports. These are callable entry points that call through to the given symbols. Unlike a 'true' re-export, the address of the lazy re-export will not match the address of the re-exported symbol, but calling it will behave the same as calling the re-exported symbol.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h:141
Inherits from: MaterializationUnit
Member Variables
- private llvm::orc::LazyCallThroughManager& LCTManager
- private llvm::orc::IndirectStubsManager& ISManager
- private llvm::orc::JITDylib& SourceJD
- private llvm::orc::SymbolAliasMap CallableAliases
- private llvm::orc::ImplSymbolMap* AliaseeTable
Inherited from MaterializationUnit:
Method Overview
- public LazyReexportsMaterializationUnit(llvm::orc::LazyCallThroughManager & LCTManager, llvm::orc::IndirectStubsManager & ISManager, llvm::orc::JITDylib & SourceJD, llvm::orc::SymbolAliasMap CallableAliases, llvm::orc::ImplSymbolMap * SrcJDLoc)
- private void discard(const llvm::orc::JITDylib & JD, const llvm::orc::SymbolStringPtr & Name)
- private static MaterializationUnit::Interface extractFlags(const llvm::orc::SymbolAliasMap & Aliases)
- public llvm::StringRef getName() const
- private void materialize(std::unique_ptr<MaterializationResponsibility> R)
Inherited from MaterializationUnit:
Methods
¶LazyReexportsMaterializationUnit(
llvm::orc::LazyCallThroughManager& LCTManager,
llvm::orc::IndirectStubsManager& ISManager,
llvm::orc::JITDylib& SourceJD,
llvm::orc::SymbolAliasMap CallableAliases,
llvm::orc::ImplSymbolMap* SrcJDLoc)
LazyReexportsMaterializationUnit(
llvm::orc::LazyCallThroughManager& LCTManager,
llvm::orc::IndirectStubsManager& ISManager,
llvm::orc::JITDylib& SourceJD,
llvm::orc::SymbolAliasMap CallableAliases,
llvm::orc::ImplSymbolMap* SrcJDLoc)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h:143
Parameters
- llvm::orc::LazyCallThroughManager& LCTManager
- llvm::orc::IndirectStubsManager& ISManager
- llvm::orc::JITDylib& SourceJD
- llvm::orc::SymbolAliasMap CallableAliases
- llvm::orc::ImplSymbolMap* SrcJDLoc
¶void discard(
const llvm::orc::JITDylib& JD,
const llvm::orc::SymbolStringPtr& Name)
void discard(
const llvm::orc::JITDylib& JD,
const llvm::orc::SymbolStringPtr& Name)
Description
Implementations of this method should discard the given symbol from the source (e.g. if the source is an LLVM IR Module and the symbol is a function, delete the function body or mark it available externally).
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h:153
Parameters
- const llvm::orc::JITDylib& JD
- const llvm::orc::SymbolStringPtr& Name
¶static MaterializationUnit::Interface
extractFlags(
const llvm::orc::SymbolAliasMap& Aliases)
static MaterializationUnit::Interface
extractFlags(
const llvm::orc::SymbolAliasMap& Aliases)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h:155
Parameters
- const llvm::orc::SymbolAliasMap& Aliases
¶llvm::StringRef getName() const
llvm::StringRef getName() const
Description
Return the name of this materialization unit. Useful for debugging output.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h:149
¶void materialize(
std::unique_ptr<MaterializationResponsibility>
R)
void materialize(
std::unique_ptr<MaterializationResponsibility>
R)
Description
Implementations of this method should materialize all symbols in the materialzation unit, except for those that have been previously discarded.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h:152
Parameters
- std::unique_ptr<MaterializationResponsibility> R