| Index: src/heap/mark-compact-inl.h
|
| diff --git a/src/heap/mark-compact-inl.h b/src/heap/mark-compact-inl.h
|
| index 9df79746ee64a12eea471412115f5bf70303303b..5932c6e4fa22873294da5455e91824c918263e23 100644
|
| --- a/src/heap/mark-compact-inl.h
|
| +++ b/src/heap/mark-compact-inl.h
|
| @@ -182,8 +182,11 @@ HeapObject* LiveObjectIterator<T>::Next() {
|
| } else if (T == kGreyObjectsOnBlackPage) {
|
| object = HeapObject::FromAddress(addr);
|
| }
|
| - // Clear the second bit of the found object.
|
| - current_cell_ &= ~second_bit_index;
|
| +
|
| + if (T != kGreyObjectsOnBlackPage) {
|
| + // Clear the second bit of the found object.
|
| + current_cell_ &= ~second_bit_index;
|
| + }
|
|
|
| // We found a live object.
|
| if (object != nullptr) break;
|
|
|