diff options
Diffstat (limited to 'deps/v8/src/heap/memory-reducer.cc')
-rw-r--r-- | deps/v8/src/heap/memory-reducer.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/deps/v8/src/heap/memory-reducer.cc b/deps/v8/src/heap/memory-reducer.cc index ee1009134b..f53730785a 100644 --- a/deps/v8/src/heap/memory-reducer.cc +++ b/deps/v8/src/heap/memory-reducer.cc @@ -47,7 +47,7 @@ void MemoryReducer::TimerTask::RunInternal() { event.should_start_incremental_gc = is_idle || optimize_for_memory; event.can_start_incremental_gc = heap->incremental_marking()->IsStopped() && - heap->incremental_marking()->CanBeActivated(); + (heap->incremental_marking()->CanBeActivated() || optimize_for_memory); memory_reducer_->NotifyTimer(event); } @@ -118,9 +118,8 @@ void MemoryReducer::NotifyMarkCompact(const Event& event) { } } - -void MemoryReducer::NotifyContextDisposed(const Event& event) { - DCHECK_EQ(kContextDisposed, event.type); +void MemoryReducer::NotifyPossibleGarbage(const Event& event) { + DCHECK_EQ(kPossibleGarbage, event.type); Action old_action = state_.action; state_ = Step(state_, event); if (old_action != kWait && state_.action == kWait) { @@ -147,14 +146,14 @@ MemoryReducer::State MemoryReducer::Step(const State& state, if (event.type == kTimer) { return state; } else { - DCHECK(event.type == kContextDisposed || event.type == kMarkCompact); + DCHECK(event.type == kPossibleGarbage || event.type == kMarkCompact); return State( kWait, 0, event.time_ms + kLongDelayMs, event.type == kMarkCompact ? event.time_ms : state.last_gc_time_ms); } case kWait: switch (event.type) { - case kContextDisposed: + case kPossibleGarbage: return state; case kTimer: if (state.started_gcs >= kMaxNumberOfGCs) { |