Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(684)

Unified Diff: runtime/vm/isolate_reload.cc

Issue 2054833002: Fix library private key stability during reload (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/isolate_reload.cc
diff --git a/runtime/vm/isolate_reload.cc b/runtime/vm/isolate_reload.cc
index cd2935747508072fc21d58510de592fc8f601cb4..2fc607f98913480c54996e5a39b3482511fea1fb 100644
--- a/runtime/vm/isolate_reload.cc
+++ b/runtime/vm/isolate_reload.cc
@@ -1075,6 +1075,16 @@ RawClass* IsolateReloadContext::OldClassOrNull(
}
+RawString* IsolateReloadContext::FindLibraryPrivateKey(
+ const Library& replacement_or_new) {
+ const Library& old = Library::Handle(OldLibraryOrNull(replacement_or_new));
+ if (old.IsNull()) {
+ return String::null();
+ }
+ return old.private_key();
+}
+
+
RawLibrary* IsolateReloadContext::OldLibraryOrNull(
const Library& replacement_or_new) {
UnorderedHashSet<LibraryMapTraits>
@@ -1099,6 +1109,11 @@ void IsolateReloadContext::BuildLibraryMapping() {
}
old ^= OldLibraryOrNull(replacement_or_new);
if (old.IsNull()) {
+ if (FLAG_identity_reload) {
+ TIR_Print("Could not find original library for %s\n",
+ replacement_or_new.ToCString());
+ UNREACHABLE();
+ }
// New library.
AddLibraryMapping(replacement_or_new, replacement_or_new);
} else {
« no previous file with comments | « runtime/vm/isolate_reload.h ('k') | runtime/vm/object.cc » ('j') | runtime/vm/object.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698