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; |