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