[ORC] Strip the Materializing flag off finalized symbols in VSOs.

Finalized symbols are no longer in the materializing state.

llvm-svn: 334721
This commit is contained in:
Lang Hames 2018-06-14 15:32:56 +00:00
parent b4a43d6610
commit 03395d2e58
1 changed files with 6 additions and 3 deletions

View File

@ -562,8 +562,9 @@ void VSO::finalize(const SymbolFlagsMap &Finalized) {
// MaterializingInfo and update its materializing state.
assert(DependantVSO.Symbols.count(DependantName) &&
"Dependant has no entry in the Symbols table");
DependantVSO.Symbols[DependantName].getFlags() &=
JITSymbolFlags::Materializing;
auto &DependantSym = DependantVSO.Symbols[DependantName];
DependantSym.setFlags(static_cast<JITSymbolFlags::FlagNames>(
DependantSym.getFlags() & ~JITSymbolFlags::Materializing));
DependantVSO.MaterializingInfos.erase(DependantMII);
}
}
@ -580,7 +581,9 @@ void VSO::finalize(const SymbolFlagsMap &Finalized) {
}
assert(Symbols.count(Name) &&
"Symbol has no entry in the Symbols table");
Symbols[Name].getFlags() &= ~JITSymbolFlags::Materializing;
auto &Sym = Symbols[Name];
Sym.setFlags(static_cast<JITSymbolFlags::FlagNames>(
Sym.getFlags() & ~JITSymbolFlags::Materializing));
MaterializingInfos.erase(MII);
}
}