Remove low RAM special casing for heap growth multiplier
Moved to change the default value in runtime.cc. This enables
changing the value by passing in a
-XX:ForegroundHeapGrowthMultiplier value.
This enables devices to set the foreground heap growth multiplier
to non 1.0 values even when low_memory_mode is true. Doing this
reduces GC frequency and can help device performance.
Increased the limit to 5.0 since the old limit of 1.0 was bogus.
Bug: 67416130
Test: test-art-host
Test: make and flash
(cherry picked from commit 2f33ad21a5c3688c33c1f36665216d76bac47f2c)
Merged-In: I86166830261c034255c23611cb8f4ebcf8c43b09
Change-Id: I6fdf82e69ebe350476fb4fe3da9d22bf671b9eac
diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc
index 4004af2..67e8a0d 100644
--- a/runtime/gc/heap.cc
+++ b/runtime/gc/heap.cc
@@ -132,10 +132,6 @@
// Dump the rosalloc stats on SIGQUIT.
static constexpr bool kDumpRosAllocStatsOnSigQuit = false;
-// Extra added to the heap growth multiplier. Used to adjust the GC ergonomics for the read barrier
-// config.
-static constexpr double kExtraHeapGrowthMultiplier = kUseReadBarrier ? 1.0 : 0.0;
-
static const char* kRegionSpaceName = "main space (region space)";
// If true, we log all GCs in the both the foreground and background. Used for debugging.
@@ -255,8 +251,7 @@
min_free_(min_free),
max_free_(max_free),
target_utilization_(target_utilization),
- foreground_heap_growth_multiplier_(
- foreground_heap_growth_multiplier + kExtraHeapGrowthMultiplier),
+ foreground_heap_growth_multiplier_(foreground_heap_growth_multiplier),
total_wait_time_(0),
verify_object_mode_(kVerifyObjectModeDisabled),
disable_moving_gc_count_(0),
@@ -3428,7 +3423,7 @@
double Heap::HeapGrowthMultiplier() const {
// If we don't care about pause times we are background, so return 1.0.
- if (!CareAboutPauseTimes() || IsLowMemoryMode()) {
+ if (!CareAboutPauseTimes()) {
return 1.0;
}
return foreground_heap_growth_multiplier_;