LLVM
8.0.1
|
A MaterializationUnit represents a set of symbol definitions that can be materialized as a group, or individually discarded (when overriding definitions are encountered). More...
#include "llvm/ExecutionEngine/Orc/Core.h"
Public Member Functions | |
MaterializationUnit (SymbolFlagsMap InitalSymbolFlags, VModuleKey K) | |
virtual | ~MaterializationUnit () |
virtual StringRef | getName () const =0 |
Return the name of this materialization unit. More... | |
const SymbolFlagsMap & | getSymbols () const |
Return the set of symbols that this source provides. More... | |
void | doMaterialize (JITDylib &JD) |
Called by materialization dispatchers (see ExecutionSession::DispatchMaterializationFunction) to trigger materialization of this MaterializationUnit. More... | |
void | doDiscard (const JITDylib &JD, const SymbolStringPtr &Name) |
Called by JITDylibs to notify MaterializationUnits that the given symbol has been overridden. More... | |
Protected Attributes | |
SymbolFlagsMap | SymbolFlags |
VModuleKey | K |
A MaterializationUnit represents a set of symbol definitions that can be materialized as a group, or individually discarded (when overriding definitions are encountered).
MaterializationUnits are used when providing lazy definitions of symbols to JITDylibs. The JITDylib will call materialize when the address of a symbol is requested via the lookup method. The JITDylib will call discard if a stronger definition is added or already present.
|
inline |
|
inlinevirtual |
|
inline |
Called by JITDylibs to notify MaterializationUnits that the given symbol has been overridden.
Definition at line 276 of file Core.h.
Referenced by llvm::orc::JITDylib::dump().
|
inline |
Called by materialization dispatchers (see ExecutionSession::DispatchMaterializationFunction) to trigger materialization of this MaterializationUnit.
|
pure virtual |
Return the name of this materialization unit.
Useful for debugging output.
Implemented in llvm::orc::ReExportsMaterializationUnit, llvm::orc::AbsoluteSymbolsMaterializationUnit, llvm::orc::LazyReexportsMaterializationUnit, llvm::orc::BasicObjectLayerMaterializationUnit, and llvm::orc::IRMaterializationUnit.
Referenced by llvm::orc::operator<<().
|
inline |
Return the set of symbols that this source provides.
Definition at line 264 of file Core.h.
Referenced by llvm::orc::JITDylib::dump(), and llvm::orc::operator<<().
|
protected |
|
protected |
Definition at line 282 of file Core.h.
Referenced by llvm::orc::getObjectSymbolFlags(), and llvm::orc::IRMaterializationUnit::IRMaterializationUnit().