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
This commit is contained in:
yangguo@chromium.org 2014-07-02 13:00:36 +00:00
parent d4c07acd66
commit 1c6f0fa6c7
2 changed files with 7 additions and 31 deletions

View File

@ -4146,23 +4146,12 @@ void MarkCompactCollector::SweepSpace(PagedSpace* space, SweeperType sweeper) {
pages_swept++;
parallel_sweeping_active = true;
} else {
if (p->scan_on_scavenge()) {
SweepPrecisely<SWEEP_ONLY, IGNORE_SKIP_LIST, IGNORE_FREE_SPACE>(
space, p, NULL);
pages_swept++;
if (FLAG_gc_verbose) {
PrintF("Sweeping 0x%" V8PRIxPTR
" scan on scavenge page precisely.\n",
reinterpret_cast<intptr_t>(p));
}
} else {
if (FLAG_gc_verbose) {
PrintF("Sweeping 0x%" V8PRIxPTR " conservatively in parallel.\n",
reinterpret_cast<intptr_t>(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<intptr_t>(p));
}
p->set_parallel_sweeping(MemoryChunk::PARALLEL_SWEEPING_PENDING);
space->IncreaseUnsweptFreeBytes(p);
}
space->set_end_of_unswept_pages(p);
break;

View File

@ -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);
}
}
}