| Index: src/heap/mark-compact-inl.h
|
| diff --git a/src/heap/mark-compact-inl.h b/src/heap/mark-compact-inl.h
|
| index 8861241df019528d05de4fc849cb6b68f3d59969..dd45c382fd4867d6090873b3efed05ff246c2932 100644
|
| --- a/src/heap/mark-compact-inl.h
|
| +++ b/src/heap/mark-compact-inl.h
|
| @@ -179,9 +179,13 @@ HeapObject* LiveObjectIterator<T>::Next() {
|
|
|
| // We found a live object.
|
| if (object != nullptr) {
|
| - if (map == heap()->one_pointer_filler_map()) {
|
| - // Black areas together with slack tracking may result in black one
|
| - // word filler objects. We filter these objects out in the iterator.
|
| + if (object->IsFiller()) {
|
| + // There are two reasons why we can get black or grey fillers:
|
| + // 1) Black areas together with slack tracking may result in black one
|
| + // word filler objects.
|
| + // 2) Left trimming may leave black or grey fillers behind because we
|
| + // do not clear the old location of the object start.
|
| + // We filter these objects out in the iterator.
|
| object = nullptr;
|
| } else {
|
| break;
|
|
|