Remove is low memory mode for threshold adjustment and TransitionGC
This ensures thresholds are adjusted to their baseline for low
memory devices
Bug: 240743811
Test: Trace Analysis
Change-Id: I1a3d40dbc80e544fa6253b87e95a4b1d73e03a97
diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc
index e840d92..d6aad0d 100644
--- a/runtime/gc/heap.cc
+++ b/runtime/gc/heap.cc
@@ -4657,27 +4657,25 @@
// Temporarily increase target_footprint_ and concurrent_start_bytes_ to
// max values to avoid GC during app launch.
- if (!IsLowMemoryMode()) {
- // Set target_footprint_ to the largest allowed value.
- SetIdealFootprint(growth_limit_);
- SetDefaultConcurrentStartBytes();
+ // Set target_footprint_ to the largest allowed value.
+ SetIdealFootprint(growth_limit_);
+ SetDefaultConcurrentStartBytes();
- // Shrink heap after kPostForkMaxHeapDurationMS, to force a memory hog process to GC.
- // This remains high enough that many processes will continue without a GC.
- if (initial_heap_size_ < growth_limit_) {
- size_t first_shrink_size = std::max(growth_limit_ / 4, initial_heap_size_);
- last_adj_time += MsToNs(kPostForkMaxHeapDurationMS);
+ // Shrink heap after kPostForkMaxHeapDurationMS, to force a memory hog process to GC.
+ // This remains high enough that many processes will continue without a GC.
+ if (initial_heap_size_ < growth_limit_) {
+ size_t first_shrink_size = std::max(growth_limit_ / 4, initial_heap_size_);
+ last_adj_time += MsToNs(kPostForkMaxHeapDurationMS);
+ GetTaskProcessor()->AddTask(
+ self, new ReduceTargetFootprintTask(last_adj_time, first_shrink_size, starting_gc_num));
+ // Shrink to a small value after a substantial time period. This will typically force a
+ // GC if none has occurred yet. Has no effect if there was a GC before this anyway, which
+ // is commonly the case, e.g. because of a process transition.
+ if (initial_heap_size_ < first_shrink_size) {
+ last_adj_time += MsToNs(4 * kPostForkMaxHeapDurationMS);
GetTaskProcessor()->AddTask(
- self, new ReduceTargetFootprintTask(last_adj_time, first_shrink_size, starting_gc_num));
- // Shrink to a small value after a substantial time period. This will typically force a
- // GC if none has occurred yet. Has no effect if there was a GC before this anyway, which
- // is commonly the case, e.g. because of a process transition.
- if (initial_heap_size_ < first_shrink_size) {
- last_adj_time += MsToNs(4 * kPostForkMaxHeapDurationMS);
- GetTaskProcessor()->AddTask(
- self,
- new ReduceTargetFootprintTask(last_adj_time, initial_heap_size_, starting_gc_num));
- }
+ self,
+ new ReduceTargetFootprintTask(last_adj_time, initial_heap_size_, starting_gc_num));
}
}
// Schedule a GC after a substantial period of time. This will become a no-op if another GC is