Lines Matching refs:Event
29 Event event;
42 event.type = kTimer;
43 event.time_ms = time_ms;
47 event.should_start_incremental_gc = is_idle || optimize_for_memory;
48 event.can_start_incremental_gc =
51 memory_reducer_->NotifyTimer(event);
65 void MemoryReducer::NotifyTimer(const Event& event) {
66 DCHECK_EQ(kTimer, event.type);
68 state_ = Step(state_, event);
95 ScheduleTimer(event.time_ms, state_.next_gc_start_ms - event.time_ms);
98 state_.next_gc_start_ms - event.time_ms);
104 void MemoryReducer::NotifyMarkCompact(const Event& event) {
105 DCHECK_EQ(kMarkCompact, event.type);
107 state_ = Step(state_, event);
110 ScheduleTimer(event.time_ms, state_.next_gc_start_ms - event.time_ms);
122 void MemoryReducer::NotifyContextDisposed(const Event& event) {
123 DCHECK_EQ(kContextDisposed, event.type);
125 state_ = Step(state_, event);
128 ScheduleTimer(event.time_ms, state_.next_gc_start_ms - event.time_ms);
133 bool MemoryReducer::WatchdogGC(const State& state, const Event& event) {
135 event.time_ms > state.last_gc_time_ms + kWatchdogDelayMs;
141 const Event& event) {
147 if (event.type == kTimer) {
150 DCHECK(event.type == kContextDisposed || event.type == kMarkCompact);
152 kWait, 0, event.time_ms + kLongDelayMs,
153 event.type == kMarkCompact ? event.time_ms : state.last_gc_time_ms);
156 switch (event.type) {
162 } else if (event.can_start_incremental_gc &&
163 (event.should_start_incremental_gc ||
164 WatchdogGC(state, event))) {
165 if (state.next_gc_start_ms <= event.time_ms) {
172 return State(kWait, state.started_gcs, event.time_ms + kLongDelayMs,
176 return State(kWait, state.started_gcs, event.time_ms + kLongDelayMs,
177 event.time_ms);
180 if (event.type != kMarkCompact) {
184 (event.next_gc_likely_to_collect_more || state.started_gcs == 1)) {
185 return State(kWait, state.started_gcs, event.time_ms + kShortDelayMs,
186 event.time_ms);
188 return State(kDone, kMaxNumberOfGCs, 0.0, event.time_ms);