Revision: 8415
Author:   [email protected]
Date:     Fri Jun 24 05:19:49 2011
Log:      x
http://code.google.com/p/v8/source/detail?r=8415

Modified:
 /branches/experimental/gc/src/heap.cc
 /branches/experimental/gc/src/heap.h
 /branches/experimental/gc/src/incremental-marking.cc
 /branches/experimental/gc/src/incremental-marking.h

=======================================
--- /branches/experimental/gc/src/heap.cc       Tue Jun 21 08:27:34 2011
+++ /branches/experimental/gc/src/heap.cc       Fri Jun 24 05:19:49 2011
@@ -5618,6 +5618,8 @@

   steps_count_ = heap_->incremental_marking()->steps_count();
   steps_took_ = heap_->incremental_marking()->steps_took();
+  delta_steps_count_ = heap_->incremental_marking()->delta_steps_count();
+  delta_steps_took_ = heap_->incremental_marking()->delta_steps_took();
 }


@@ -5654,9 +5656,15 @@
     if (external_time > 0) PrintF("%d / ", external_time);
     PrintF("%d ms", time);
     if (steps_count_ > 0) {
-      PrintF(" (+ %d ms in %d steps)",
-             static_cast<int>(steps_took_),
-             steps_count_);
+      if (collector_ == SCAVENGER) {
+        PrintF(" (+ %d ms in %d steps since last GC)",
+               static_cast<int>(delta_steps_took_),
+               delta_steps_count_);
+      } else {
+        PrintF(" (+ %d ms in %d steps since start of marking)",
+               static_cast<int>(steps_took_),
+               steps_count_);
+      }
     }
     PrintF(".\n");
   } else {
@@ -5691,8 +5699,14 @@

     PrintF("allocated=%" V8_PTR_PREFIX "d ", allocated_since_last_gc_);
     PrintF("promoted=%" V8_PTR_PREFIX "d ", promoted_objects_size_);
-    PrintF("stepscount=%d ", steps_count_);
-    PrintF("stepstook=%d ", static_cast<int>(steps_took_));
+
+    if (collector_ == SCAVENGER) {
+      PrintF("stepscount=%d ", delta_steps_count_);
+      PrintF("stepstook=%d ", static_cast<int>(delta_steps_took_));
+    } else {
+      PrintF("stepscount=%d ", steps_count_);
+      PrintF("stepstook=%d ", static_cast<int>(steps_took_));
+    }

     PrintF("\n");
   }
=======================================
--- /branches/experimental/gc/src/heap.h        Thu Jun 23 07:29:11 2011
+++ /branches/experimental/gc/src/heap.h        Fri Jun 24 05:19:49 2011
@@ -2152,9 +2152,11 @@

   // Incremental marking steps counters.
   int steps_count_;
-
   double steps_took_;

+  int delta_steps_count_;
+  double delta_steps_took_;
+
   Heap* heap_;
 };

=======================================
--- /branches/experimental/gc/src/incremental-marking.cc Thu Jun 16 06:30:19 2011 +++ /branches/experimental/gc/src/incremental-marking.cc Fri Jun 24 05:19:49 2011
@@ -41,6 +41,8 @@
       marking_deque_memory_(NULL),
       steps_count_(0),
       steps_took_(0),
+      delta_steps_count_(0),
+      delta_steps_took_(0),
       should_hurry_(false),
       allocation_marking_factor_(0),
       allocated_(0) {
@@ -416,6 +418,9 @@
     }
   }
   marking_deque_.set_top(new_top);
+
+  delta_steps_took_ = 0;
+  delta_steps_count_ = 0;
 }


@@ -548,6 +553,7 @@
   allocated_ = 0;

   steps_count_++;
+  delta_steps_count_++;

   if ((steps_count_ % kAllocationMarkingFactorSpeedupInterval) == 0) {
     allocation_marking_factor_ += kAllocationMarkingFactorSpeedup;
@@ -559,7 +565,9 @@

   if (FLAG_trace_incremental_marking || FLAG_trace_gc) {
     double end = OS::TimeCurrentMillis();
-    steps_took_ += (end - start);
+    double delta = (end - start);
+    steps_took_ += delta;
+    delta_steps_took_ += delta;
   }
 }

=======================================
--- /branches/experimental/gc/src/incremental-marking.h Tue Jun 14 07:13:40 2011 +++ /branches/experimental/gc/src/incremental-marking.h Fri Jun 24 05:19:49 2011
@@ -136,6 +136,14 @@
   inline double steps_took() {
     return steps_took_;
   }
+
+  inline int delta_steps_count() {
+    return delta_steps_count_;
+  }
+
+  inline double delta_steps_took() {
+    return delta_steps_took_;
+  }

   inline void SetOldSpacePageFlags(MemoryChunk* chunk) {
     SetOldSpacePageFlags(chunk, IsMarking());
@@ -155,6 +163,8 @@
   void ResetStepCounters() {
     steps_count_ = 0;
     steps_took_ = 0;
+    delta_steps_count_ = 0;
+    delta_steps_took_ = 0;
     allocation_marking_factor_ = kInitialAllocationMarkingFactor;
   }

@@ -188,6 +198,8 @@

   int steps_count_;
   double steps_took_;
+  int delta_steps_count_;
+  double delta_steps_took_;
   bool should_hurry_;
   int allocation_marking_factor_;
   intptr_t allocated_;

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

Reply via email to