| Index: runtime/vm/scavenger.cc
|
| ===================================================================
|
| --- runtime/vm/scavenger.cc (revision 9793)
|
| +++ runtime/vm/scavenger.cc (working copy)
|
| @@ -323,10 +323,13 @@
|
| duplicates = 0;
|
| for (intptr_t i = 0; i < entries; i++) {
|
| RawObject** pointer = reinterpret_cast<RawObject**>(block->At(i));
|
| - if (from_->Contains(RawObject::ToAddr(*pointer))) {
|
| - visitor->VisitPointer(pointer);
|
| - } else {
|
| - duplicates++;
|
| + RawObject* value = *pointer;
|
| + if (value->IsHeapObject()) {
|
| + if (from_->Contains(RawObject::ToAddr(value))) {
|
| + visitor->VisitPointer(pointer);
|
| + } else {
|
| + duplicates++;
|
| + }
|
| }
|
| }
|
| block->Reset();
|
|
|