Index: runtime/vm/isolate_reload.cc |
diff --git a/runtime/vm/isolate_reload.cc b/runtime/vm/isolate_reload.cc |
index 02915170900afab0a66db91763b2e38268e95b46..5913789c15a8b82fb07f2b77579dce64800578e2 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); |
@@ -971,8 +971,8 @@ class MarkFunctionsForRecompilation : public ObjectVisitor { |
} |
virtual void VisitObject(RawObject* obj) { |
- // Free-list elements cannot even be wrapped in handles. |
- if (obj->IsFreeListElement()) { |
+ if (obj->IsPseudoObject()) { |
+ // Cannot even be wrapped in handles. |
return; |
} |
handle_ = obj; |