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