LLVM
8.0.1
|
A materialization unit that builds lazy re-exports. More...
#include "llvm/ExecutionEngine/Orc/LazyReexports.h"
Public Member Functions | |
LazyReexportsMaterializationUnit (LazyCallThroughManager &LCTManager, IndirectStubsManager &ISManager, JITDylib &SourceJD, SymbolAliasMap CallableAliases, VModuleKey K) | |
StringRef | getName () const override |
Return the name of this materialization unit. More... | |
Public Member Functions inherited from llvm::orc::MaterializationUnit | |
MaterializationUnit (SymbolFlagsMap InitalSymbolFlags, VModuleKey K) | |
virtual | ~MaterializationUnit () |
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... | |
Additional Inherited Members | |
Protected Attributes inherited from llvm::orc::MaterializationUnit | |
SymbolFlagsMap | SymbolFlags |
VModuleKey | K |
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.
Definition at line 157 of file LazyReexports.h.
llvm::orc::LazyReexportsMaterializationUnit::LazyReexportsMaterializationUnit | ( | LazyCallThroughManager & | LCTManager, |
IndirectStubsManager & | ISManager, | ||
JITDylib & | SourceJD, | ||
SymbolAliasMap | CallableAliases, | ||
VModuleKey | K | ||
) |
Definition at line 126 of file LazyReexports.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Key::SymbolName, and llvm::orc::IndirectStubsManager::updatePointer().
|
overridevirtual |
Return the name of this materialization unit.
Useful for debugging output.
Implements llvm::orc::MaterializationUnit.
Definition at line 138 of file LazyReexports.cpp.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), llvm::orc::MaterializationResponsibility::failMaterialization(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::orc::LazyCallThroughManager::getCallThroughTrampoline(), llvm::orc::JITDylib::getExecutionSession(), llvm::orc::MaterializationResponsibility::getRequestedSymbols(), I, llvm::orc::lazyReexports(), llvm::orc::MaterializationResponsibility::replace(), and llvm::orc::ExecutionSession::reportError().