Index: src/heap.cc |
=================================================================== |
--- src/heap.cc (revision 2761) |
+++ src/heap.cc (working copy) |
@@ -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; |
} |