Reviewers: Mads Ager,

Description:
Count Mark-Compact/Mark-Sweep collections only after compaction decision was
made

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

Affected files:
  M src/heap.cc


Index: src/heap.cc
diff --git a/src/heap.cc b/src/heap.cc
index 79aced7d4d33c90a8df1fcae98b16e870d60df62..e47737d2a27a2abdf88600adc54f9d86e2e26485 100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -657,11 +657,6 @@ void Heap::PerformGarbageCollection(AllocationSpace space,

 void Heap::MarkCompact(GCTracer* tracer) {
   gc_state_ = MARK_COMPACT;
-  if (MarkCompactCollector::IsCompacting()) {
-    mc_count_++;
-  } else {
-    ms_count_++;
-  }
   tracer->set_full_gc_count(mc_count_);
   LOG(ResourceEvent("markcompact", "begin"));

@@ -669,6 +664,12 @@ void Heap::MarkCompact(GCTracer* tracer) {

   bool is_compacting = MarkCompactCollector::IsCompacting();

+  if (is_compacting) {
+    mc_count_++;
+  } else {
+    ms_count_++;
+  }
+
   MarkCompactPrologue(is_compacting);

   MarkCompactCollector::CollectGarbage();


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

Reply via email to