Chromium Code Reviews| Index: src/heap/heap.cc |
| diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
| index 8986087486995ac660de31f0d164b0a03ebc37f4..3e8923987b9966581fdb8cc2de9fba48623dd0d3 100644 |
| --- a/src/heap/heap.cc |
| +++ b/src/heap/heap.cc |
| @@ -4489,12 +4489,17 @@ bool Heap::IdleNotification(double deadline_in_seconds) { |
| if (incremental_marking()->IsStopped()) { |
| incremental_marking()->Start(); |
| } |
| - incremental_marking()->Step(action.parameter, |
| - IncrementalMarking::NO_GC_VIA_STACK_GUARD, |
| - IncrementalMarking::FORCE_MARKING, |
| - IncrementalMarking::DO_NOT_FORCE_COMPLETION); |
| - double remaining_idle_time_in_ms = |
| - deadline_in_ms - MonotonicallyIncreasingTimeInMs(); |
| + double remaining_idle_time_in_ms = 0.0; |
| + do { |
| + incremental_marking()->Step( |
| + action.parameter, IncrementalMarking::NO_GC_VIA_STACK_GUARD, |
| + IncrementalMarking::FORCE_MARKING, |
| + IncrementalMarking::DO_NOT_FORCE_COMPLETION); |
| + remaining_idle_time_in_ms = |
| + deadline_in_ms - MonotonicallyIncreasingTimeInMs(); |
| + } while (remaining_idle_time_in_ms >= 2 && |
|
jochen (gone - plz use gerrit)
2014/12/02 10:30:31
maybe 2.0 * kIncrementalMarkingStepTimeInMs?
Hannes Payer (out of office)
2014/12/02 10:37:54
Done.
|
| + !incremental_marking()->IsComplete() && |
| + !mark_compact_collector_.marking_deque()->IsEmpty()); |
| if (remaining_idle_time_in_ms > 0.0) { |
| TryFinalizeIdleIncrementalMarking( |
| remaining_idle_time_in_ms, heap_state.size_of_objects, |