Index: src/heap.cc |
diff --git a/src/heap.cc b/src/heap.cc |
index 00e513ba880daa3fb9158af71cf57d6a91d1ace7..0e00cf0ee81f21775c1c40bb6a28d937dd9b436c 100644 |
--- a/src/heap.cc |
+++ b/src/heap.cc |
@@ -81,6 +81,7 @@ Heap::Heap() |
// Will be 4 * reserved_semispace_size_ to ensure that young |
// generation can be aligned to its size. |
maximum_committed_(0), |
+ old_space_growing_factor_(4), |
survived_since_last_expansion_(0), |
sweep_generation_(0), |
always_allocate_scope_depth_(0), |
@@ -5952,6 +5953,12 @@ bool Heap::ConfigureHeap(int max_semispace_size, |
code_range_size_ = code_range_size; |
+ // We set the old generation growing factor to 2 to grow the heap slower on |
+ // memory-constrained devices. |
+ if (max_old_generation_size_ <= kMaxOldSpaceSizeMediumMemoryDevice) { |
+ old_space_growing_factor_ = 2; |
+ } |
+ |
configured_ = true; |
return true; |
} |