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