Revision: 4811
Author: [email protected]
Date: Mon Jun  7 04:31:44 2010
Log: Count Mark-Compact/Mark-Sweep collections only after compaction decision was made

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

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

=======================================
--- /branches/bleeding_edge/src/heap.cc Mon Jun  7 01:49:07 2010
+++ /branches/bleeding_edge/src/heap.cc Mon Jun  7 04:31:44 2010
@@ -659,18 +659,19 @@

 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"));

   MarkCompactCollector::Prepare(tracer);

   bool is_compacting = MarkCompactCollector::IsCompacting();

+  if (is_compacting) {
+    mc_count_++;
+  } else {
+    ms_count_++;
+  }
+  tracer->set_full_gc_count(mc_count_ + ms_count_);
+
   MarkCompactPrologue(is_compacting);

   MarkCompactCollector::CollectGarbage();

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

Reply via email to