Chromium Code Reviews| Index: src/heap/heap.h |
| diff --git a/src/heap/heap.h b/src/heap/heap.h |
| index 4f624a3ab4b538d0b0eb128fc094516d6e03883c..88b0868b681f87fa66e02a700051c780ee724f63 100644 |
| --- a/src/heap/heap.h |
| +++ b/src/heap/heap.h |
| @@ -1225,13 +1225,13 @@ class Heap { |
| survived_since_last_expansion_ += survived; |
| } |
| - inline bool NextGCIsLikelyToBeFull() { |
| + inline bool NextGCIsLikelyToBeFull(intptr_t limit = 0) { |
|
ulan
2015/04/16 14:17:22
Always pass the limit (either the old_generation_a
Hannes Payer (out of office)
2015/04/16 14:46:45
Done.
|
| if (FLAG_gc_global) return true; |
| if (FLAG_stress_compaction && (gc_count_ & 1) != 0) return true; |
| - intptr_t adjusted_allocation_limit = |
| - old_generation_allocation_limit_ - new_space_.Capacity(); |
| + if (limit == 0) limit = old_generation_allocation_limit_; |
| + intptr_t adjusted_allocation_limit = limit - new_space_.Capacity(); |
| if (PromotedTotalSize() >= adjusted_allocation_limit) return true; |
| @@ -1633,6 +1633,19 @@ class Heap { |
| // generation and on every allocation in large object space. |
| intptr_t old_generation_allocation_limit_; |
| + // The minimum factor used to grow the old generation. |
|
ulan
2015/04/16 14:17:22
Each additional state variable complicates GC sche
Hannes Payer (out of office)
2015/04/16 14:46:45
Done.
|
| + double min_old_generation_growing_factor_; |
|
Erik Corry Chromium.org
2015/04/16 14:16:44
This never changes.
Hannes Payer (out of office)
2015/04/16 14:46:45
Done.
|
| + |
| + // The maximum factor used to grow the old generation. |
| + double max_old_generation_growing_factor_; |
| + |
| + // The factor used in the idle notification to grow the old generation. |
| + double idle_old_generation_growing_factor_; |
|
Erik Corry Chromium.org
2015/04/16 14:16:44
This never changes.
I think it keeps things simpl
Hannes Payer (out of office)
2015/04/16 14:46:45
Done.
|
| + |
| + // The currently used old generation growing factor determined by the heap |
| + // growing strategy (not by the idle notification). |
| + double current_old_generation_growing_factor_; |
| + |
| // Indicates that an allocation has failed in the old generation since the |
| // last GC. |
| bool old_gen_exhausted_; |