| Index: src/heap/memory-reducer.h
|
| diff --git a/src/heap/memory-reducer.h b/src/heap/memory-reducer.h
|
| index 4745001b6ccaca22a9b9701b1176cad522ba852c..5057938d016233258c7a29f671893fb2f0961afa 100644
|
| --- a/src/heap/memory-reducer.h
|
| +++ b/src/heap/memory-reducer.h
|
| @@ -86,15 +86,17 @@ class V8_EXPORT_PRIVATE MemoryReducer {
|
|
|
| struct State {
|
| State(Action action, int started_gcs, double next_gc_start_ms,
|
| - double last_gc_time_ms)
|
| + double last_gc_time_ms, size_t committed_memory_at_last_run)
|
| : action(action),
|
| started_gcs(started_gcs),
|
| next_gc_start_ms(next_gc_start_ms),
|
| - last_gc_time_ms(last_gc_time_ms) {}
|
| + last_gc_time_ms(last_gc_time_ms),
|
| + committed_memory_at_last_run(committed_memory_at_last_run) {}
|
| Action action;
|
| int started_gcs;
|
| double next_gc_start_ms;
|
| double last_gc_time_ms;
|
| + size_t committed_memory_at_last_run;
|
| };
|
|
|
| enum EventType { kTimer, kMarkCompact, kPossibleGarbage };
|
| @@ -102,6 +104,7 @@ class V8_EXPORT_PRIVATE MemoryReducer {
|
| struct Event {
|
| EventType type;
|
| double time_ms;
|
| + size_t committed_memory;
|
| bool next_gc_likely_to_collect_more;
|
| bool should_start_incremental_gc;
|
| bool can_start_incremental_gc;
|
| @@ -109,7 +112,7 @@ class V8_EXPORT_PRIVATE MemoryReducer {
|
|
|
| explicit MemoryReducer(Heap* heap)
|
| : heap_(heap),
|
| - state_(kDone, 0, 0.0, 0.0),
|
| + state_(kDone, 0, 0.0, 0.0, 0),
|
| js_calls_counter_(0),
|
| js_calls_sample_time_ms_(0.0) {}
|
| // Callbacks.
|
| @@ -126,6 +129,12 @@ class V8_EXPORT_PRIVATE MemoryReducer {
|
| static const int kShortDelayMs;
|
| static const int kWatchdogDelayMs;
|
| static const int kMaxNumberOfGCs;
|
| + // The committed memory has to increase by at least this factor since the
|
| + // last run in order to trigger a new run after mark-compact.
|
| + static const double kCommittedMemoryFactor;
|
| + // The committed memory has to increase by at least this amount since the
|
| + // last run in order to trigger a new run after mark-compact.
|
| + static const size_t kCommittedMemoryDelta;
|
|
|
| Heap* heap() { return heap_; }
|
|
|
|
|