Chromium Code Reviews| Index: src/store-buffer.cc |
| diff --git a/src/store-buffer.cc b/src/store-buffer.cc |
| index 4ab5c33c8cc439b59033c85c4be1ae5b92c67d49..e4cef27b4a5433d71e934425247767216aebbb02 100644 |
| --- a/src/store-buffer.cc |
| +++ b/src/store-buffer.cc |
| @@ -552,8 +552,21 @@ void StoreBuffer::IteratePointersToNewSpace(ObjectSlotCallback slot_callback, |
| FindPointersToNewSpaceInMapsRegion( |
| start, end, slot_callback, clear_maps); |
| } else { |
| - FindPointersToNewSpaceInRegion( |
| - start, end, slot_callback, clear_maps); |
| + ASSERT(page->WasSweptPrecisely()); |
| + HeapObjectIterator iterator(page, NULL); |
| + for (HeapObject* heap_object = iterator.Next(); |
| + heap_object != NULL; |
| + heap_object = iterator.Next()) { |
| + // We skip filler, free space, and constant pool objects. |
|
rmcilroy
2014/07/02 12:39:07
Could you add back the old comment here please:
/
|
| + if (!heap_object->IsFiller() && |
| + !heap_object->IsConstantPoolArray()) { |
| + FindPointersToNewSpaceInRegion( |
| + heap_object->address() + HeapObject::kHeaderSize, |
| + heap_object->address() + heap_object->Size(), |
| + slot_callback, |
| + clear_maps); |
| + } |
| + } |
| } |
| } |
| } |