forked from OSchip/llvm-project
[ORC] Make MaterializationResponsibility::getRequestedSymbols() const.
This makes it available for use in IRTransformLayer2::TransformFunction instances (since a const MaterializationResponsibility& parameter was added in r343365). llvm-svn: 343367
This commit is contained in:
parent
91def5cc6a
commit
2afc22ed9e
|
@ -167,7 +167,7 @@ public:
|
|||
/// MaterializationResponsibility object that have queries pending. This
|
||||
/// information can be used to return responsibility for unrequested symbols
|
||||
/// back to the JITDylib via the delegate method.
|
||||
SymbolNameSet getRequestedSymbols();
|
||||
SymbolNameSet getRequestedSymbols() const;
|
||||
|
||||
/// Notifies the target JITDylib that the given symbols have been resolved.
|
||||
/// This will update the given symbols' addresses in the JITDylib, and notify
|
||||
|
@ -623,7 +623,7 @@ private:
|
|||
|
||||
void replace(std::unique_ptr<MaterializationUnit> MU);
|
||||
|
||||
SymbolNameSet getRequestedSymbols(const SymbolFlagsMap &SymbolFlags);
|
||||
SymbolNameSet getRequestedSymbols(const SymbolFlagsMap &SymbolFlags) const;
|
||||
|
||||
void addDependencies(const SymbolStringPtr &Name,
|
||||
const SymbolDependenceMap &Dependants);
|
||||
|
|
|
@ -367,7 +367,7 @@ MaterializationResponsibility::~MaterializationResponsibility() {
|
|||
"All symbols should have been explicitly materialized or failed");
|
||||
}
|
||||
|
||||
SymbolNameSet MaterializationResponsibility::getRequestedSymbols() {
|
||||
SymbolNameSet MaterializationResponsibility::getRequestedSymbols() const {
|
||||
return JD.getRequestedSymbols(SymbolFlags);
|
||||
}
|
||||
|
||||
|
@ -775,13 +775,14 @@ void JITDylib::replace(std::unique_ptr<MaterializationUnit> MU) {
|
|||
ES.dispatchMaterialization(*this, std::move(MustRunMU));
|
||||
}
|
||||
|
||||
SymbolNameSet JITDylib::getRequestedSymbols(const SymbolFlagsMap &SymbolFlags) {
|
||||
SymbolNameSet
|
||||
JITDylib::getRequestedSymbols(const SymbolFlagsMap &SymbolFlags) const {
|
||||
return ES.runSessionLocked([&]() {
|
||||
SymbolNameSet RequestedSymbols;
|
||||
|
||||
for (auto &KV : SymbolFlags) {
|
||||
assert(Symbols.count(KV.first) && "JITDylib does not cover this symbol?");
|
||||
assert(Symbols[KV.first].getFlags().isMaterializing() &&
|
||||
assert(Symbols.find(KV.first)->second.getFlags().isMaterializing() &&
|
||||
"getRequestedSymbols can only be called for materializing "
|
||||
"symbols");
|
||||
auto I = MaterializingInfos.find(KV.first);
|
||||
|
|
Loading…
Reference in New Issue