Revision: 4949
Author: [email protected]
Date: Fri Jun 25 01:59:52 2010
Log: Don't make any decisions on old space limits after scavenges.

We just do not possess enough information at that point.

Review URL: http://codereview.chromium.org/2836026
http://code.google.com/p/v8/source/detail?r=4949

Modified:
 /branches/bleeding_edge/src/heap.cc
 /branches/bleeding_edge/src/heap.h

=======================================
--- /branches/bleeding_edge/src/heap.cc Thu Jun 24 06:56:35 2010
+++ /branches/bleeding_edge/src/heap.cc Fri Jun 25 01:59:52 2010
@@ -131,7 +131,6 @@
 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 @@
       // 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 @@
     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);
=======================================
--- /branches/bleeding_edge/src/heap.h  Thu Jun 24 05:11:24 2010
+++ /branches/bleeding_edge/src/heap.h  Fri Jun 25 01:59:52 2010
@@ -1285,7 +1285,6 @@
   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