Push change to move shrinking of new space from compaction to idle
notifications to trunk.
Review URL: http://codereview.chromium.org/174521
git-svn-id: http://v8.googlecode.com/svn/trunk@2766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/heap.cc b/src/heap.cc
index 7e73eae..1658c6b 100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -465,9 +465,9 @@
old_gen_allocation_limit_ =
old_gen_size + Max(kMinimumAllocationLimit, old_gen_size / 2);
old_gen_exhausted_ = false;
- } else {
- Scavenge();
}
+ Scavenge();
+
Counters::objs_since_last_young.Set(0);
PostGarbageCollectionProcessing();
@@ -521,12 +521,6 @@
Counters::objs_since_last_full.Set(0);
context_disposed_pending_ = false;
-
- Scavenge();
-
- // Shrink new space as much as possible after compacting full
- // garbage collections.
- if (is_compacting) new_space_.Shrink();
}
@@ -2807,6 +2801,8 @@
CollectAllGarbage(force_compaction);
last_gc_count = gc_count_;
if (force_compaction) {
+ // Shrink new space.
+ new_space_.Shrink();
number_idle_notifications = 0;
finished = true;
}