Chromium Code Reviews| 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; |