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

Unified Diff: runtime/vm/isolate_reload.cc

Issue 2026643004: Don't overload FreeListElement for become. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 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 02915170900afab0a66db91763b2e38268e95b46..693e579d7135ac44854b9876e7497c0b22751a7f 100644
--- a/runtime/vm/isolate_reload.cc
+++ b/runtime/vm/isolate_reload.cc
@@ -408,7 +408,7 @@ void IsolateReloadContext::CheckpointClasses() {
class_table->HasValidClassAt(i)) {
// Copy the class into the saved class table and add it to the set.
local_saved_class_table[i] = class_table->At(i);
- if (i != kFreeListElement) {
+ if (i != kFreeListElement && i != kForwardingCorpse) {
cls = class_table->At(i);
bool already_present = old_classes_set.Insert(cls);
ASSERT(!already_present);
@@ -972,7 +972,7 @@ class MarkFunctionsForRecompilation : public ObjectVisitor {
virtual void VisitObject(RawObject* obj) {
// Free-list elements cannot even be wrapped in handles.
- if (obj->IsFreeListElement()) {
+ if (obj->IsFreeListElement() || obj->IsForwardingCorpse()) {
Cutch 2016/06/02 14:09:53 This seems like a common enough pattern that we mi
rmacnak 2016/06/02 17:57:06 Done.
return;
}
handle_ = obj;

Powered by Google App Engine
This is Rietveld 408576698