Reviewers: Mads Ager,

Description:
Don't make any decisions on old space limits after scavenges.

We just do not possess enough information at that point.

Please review this at http://codereview.chromium.org/2836026/show

Affected files:
  M src/heap.h
  M src/heap.cc


Index: src/heap.cc
diff --git a/src/heap.cc b/src/heap.cc
index 9d6e13a6536868c4ae72e6890a5c2f8ecd717610..32ebf544879acc418717681dfa152d71cbb33c7d 100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -131,7 +131,6 @@ int Heap::high_survival_rate_period_length_ = 0;
 double Heap::survival_rate_ = 0;
 Heap::SurvivalRateTrend Heap::previous_survival_rate_trend_ = Heap::STABLE;
 Heap::SurvivalRateTrend Heap::survival_rate_trend_ = Heap::STABLE;
-bool Heap::bumped_old_gen_limits_ = false;

 #ifdef DEBUG
 bool Heap::allocation_allowed_ = true;
@@ -666,7 +665,6 @@ void Heap::PerformGarbageCollection(AllocationSpace space,
       // space for the mutation speed.
       old_gen_promotion_limit_ *= 2;
       old_gen_allocation_limit_ *= 2;
-      bumped_old_gen_limits_ = true;
     }

     old_gen_exhausted_ = false;
@@ -676,19 +674,6 @@ void Heap::PerformGarbageCollection(AllocationSpace space,
     tracer_ = NULL;

     UpdateSurvivalRateTrend(start_new_space_size);
-
-    if (bumped_old_gen_limits_ &&
-        !IsHighSurvivalRate() &&
-        !IsIncreasingSurvivalTrend()) {
- // We previously observed high survival rates in young space and decided - // to bump old space allocation limits to trade the space for the speed
-      // but now survival rates are dropping which indicates that mutator
- // finished updating tenured data structure. So we can decrease old space - // limits to guarantee an early full GC cycle and reduce memory footprint.
-      old_gen_promotion_limit_ /= 2;
-      old_gen_allocation_limit_ /= 2;
-      bumped_old_gen_limits_ = false;
-    }
   }

   Counters::objs_since_last_young.Set(0);
Index: src/heap.h
diff --git a/src/heap.h b/src/heap.h
index fd0b06b84e1dbe1b7e1ec342371f8a508a8bdabc..df3ba0ea2a24b9c3b1f85d532c6d31fcf80a2b85 100644
--- a/src/heap.h
+++ b/src/heap.h
@@ -1285,7 +1285,6 @@ class Heap : public AllStatic {
   static double survival_rate_;
   static SurvivalRateTrend previous_survival_rate_trend_;
   static SurvivalRateTrend survival_rate_trend_;
-  static bool bumped_old_gen_limits_;

static void set_survival_rate_trend(SurvivalRateTrend survival_rate_trend) {
     ASSERT(survival_rate_trend != FLUCTUATING);


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to