From 1c6f0fa6c7450148c7e8f356eaa81a390a8ca382 Mon Sep 17 00:00:00 2001 From: "yangguo@chromium.org" Date: Wed, 2 Jul 2014 13:00:36 +0000 Subject: [PATCH] Revert "Precisely sweep scan on scavenge pages and use heap iterator to iterate over them." This reverts r22154. TBR=hpayer@chromium.org Review URL: https://codereview.chromium.org/365853003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/mark-compact.cc | 21 +++++---------------- src/store-buffer.cc | 17 ++--------------- 2 files changed, 7 insertions(+), 31 deletions(-) diff --git a/src/mark-compact.cc b/src/mark-compact.cc index 9192c58..fafc9e1 100644 --- a/src/mark-compact.cc +++ b/src/mark-compact.cc @@ -4146,23 +4146,12 @@ void MarkCompactCollector::SweepSpace(PagedSpace* space, SweeperType sweeper) { pages_swept++; parallel_sweeping_active = true; } else { - if (p->scan_on_scavenge()) { - SweepPrecisely( - space, p, NULL); - pages_swept++; - if (FLAG_gc_verbose) { - PrintF("Sweeping 0x%" V8PRIxPTR - " scan on scavenge page precisely.\n", - reinterpret_cast(p)); - } - } else { - if (FLAG_gc_verbose) { - PrintF("Sweeping 0x%" V8PRIxPTR " conservatively in parallel.\n", - reinterpret_cast(p)); - } - p->set_parallel_sweeping(MemoryChunk::PARALLEL_SWEEPING_PENDING); - space->IncreaseUnsweptFreeBytes(p); + if (FLAG_gc_verbose) { + PrintF("Sweeping 0x%" V8PRIxPTR " conservatively in parallel.\n", + reinterpret_cast(p)); } + p->set_parallel_sweeping(MemoryChunk::PARALLEL_SWEEPING_PENDING); + space->IncreaseUnsweptFreeBytes(p); } space->set_end_of_unswept_pages(p); break; diff --git a/src/store-buffer.cc b/src/store-buffer.cc index e4cef27..4ab5c33 100644 --- a/src/store-buffer.cc +++ b/src/store-buffer.cc @@ -552,21 +552,8 @@ void StoreBuffer::IteratePointersToNewSpace(ObjectSlotCallback slot_callback, FindPointersToNewSpaceInMapsRegion( start, end, slot_callback, clear_maps); } else { - 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. - if (!heap_object->IsFiller() && - !heap_object->IsConstantPoolArray()) { - FindPointersToNewSpaceInRegion( - heap_object->address() + HeapObject::kHeaderSize, - heap_object->address() + heap_object->Size(), - slot_callback, - clear_maps); - } - } + FindPointersToNewSpaceInRegion( + start, end, slot_callback, clear_maps); } } } -- 2.7.4