Chromium Code Reviews| Index: src/heap/incremental-marking.cc |
| diff --git a/src/heap/incremental-marking.cc b/src/heap/incremental-marking.cc |
| index 52d0ca4e51b6e297c04c94bfb686116722d32bba..ceffbdde0ee0c7454ea09a05574188e3017627a5 100644 |
| --- a/src/heap/incremental-marking.cc |
| +++ b/src/heap/incremental-marking.cc |
| @@ -946,16 +946,6 @@ void IncrementalMarking::Stop() { |
| PatchIncrementalMarkingRecordWriteStubs(heap_, |
| RecordWriteStub::STORE_BUFFER_ONLY); |
| DeactivateIncrementalWriteBarrier(); |
| - |
| - if (is_compacting_) { |
| - LargeObjectIterator it(heap_->lo_space()); |
| - for (HeapObject* obj = it.Next(); obj != NULL; obj = it.Next()) { |
| - Page* p = Page::FromAddress(obj->address()); |
| - if (p->IsFlagSet(Page::RESCAN_ON_EVACUATION)) { |
| - p->ClearFlag(Page::RESCAN_ON_EVACUATION); |
|
ulan
2016/01/28 16:41:24
Without this code, the flag becomes sticky, i.e. l
|
| - } |
| - } |
| - } |
| } |
| heap_->isolate()->stack_guard()->ClearGC(); |
| state_ = STOPPED; |
| @@ -965,17 +955,7 @@ void IncrementalMarking::Stop() { |
| void IncrementalMarking::Finalize() { |
| Hurry(); |
| - state_ = STOPPED; |
| - is_compacting_ = false; |
| - |
| - heap_->new_space()->RemoveInlineAllocationObserver(&observer_); |
| - IncrementalMarking::set_should_hurry(false); |
| - ResetStepCounters(); |
| - PatchIncrementalMarkingRecordWriteStubs(heap_, |
| - RecordWriteStub::STORE_BUFFER_ONLY); |
| - DeactivateIncrementalWriteBarrier(); |
| - DCHECK(heap_->mark_compact_collector()->marking_deque()->IsEmpty()); |
| - heap_->isolate()->stack_guard()->ClearGC(); |
| + Stop(); |
| } |