Chromium Code Reviews| Index: src/heap/gc-idle-time-handler.h |
| diff --git a/src/heap/gc-idle-time-handler.h b/src/heap/gc-idle-time-handler.h |
| index 6a39b78aaa2fcc24fd5210236f177bf0f9fffc14..e75e4a0ffa1b4e7e04b71a432aa072341af473ec 100644 |
| --- a/src/heap/gc-idle-time-handler.h |
| +++ b/src/heap/gc-idle-time-handler.h |
| @@ -136,8 +136,15 @@ class GCIdleTimeHandler { |
| // Incremental marking step time. |
| static const size_t kIncrementalMarkingStepTimeInMs = 1; |
| + // This is the minimum time required to perform over approximation of |
| + // weak closure during idle notification. |
| static const size_t kMinTimeForOverApproximatingWeakClosureInMs; |
| + // No full garbage collections are performed if the last full GC was done |
| + // kMinTimeInBetweenMarkCompactsInMs milliseconds before. Idle times larger |
| + // than kMaxScheduledIdleTime ignore that threshold. |
| + static const size_t kMinTimeInBetweenMarkCompactsInMs = 1000; |
|
rmcilroy
2015/03/20 14:56:08
Is 1000ms a guesstimation or is there any reason t
|
| + |
| class HeapState { |
| public: |
| void Print(); |
| @@ -155,6 +162,8 @@ class GCIdleTimeHandler { |
| size_t used_new_space_size; |
| size_t new_space_capacity; |
| size_t new_space_allocation_throughput_in_bytes_per_ms; |
| + size_t last_mark_compact_time; |
| + size_t current_time; |
| }; |
| GCIdleTimeHandler() |
| @@ -186,7 +195,9 @@ class GCIdleTimeHandler { |
| static bool ShouldDoMarkCompact(size_t idle_time_in_ms, |
| size_t size_of_objects, |
| - size_t mark_compact_speed_in_bytes_per_ms); |
| + size_t mark_compact_speed_in_bytes_per_ms, |
| + size_t last_mark_compact_time_in_ms, |
| + size_t current_time_in_ms); |
| static bool ShouldDoContextDisposalMarkCompact(int context_disposed, |
| double contexts_disposal_rate); |