Index: src/counters.cc |
=================================================================== |
--- src/counters.cc (revision 1503) |
+++ src/counters.cc (working copy) |
@@ -33,6 +33,8 @@ |
namespace v8 { namespace internal { |
CounterLookupCallback StatsTable::lookup_function_ = NULL; |
+CreateHistogramCallback StatsTable::create_histogram_function_ = NULL; |
+AddHistogramSampleCallback StatsTable::add_histogram_sample_function_ = NULL; |
// Start the timer. |
void StatsCounterTimer::Start() { |
@@ -53,4 +55,23 @@ |
counter_.Increment(milliseconds); |
} |
+// Start the timer. |
+void HistogramTimer::Start() { |
+ if (GetHistogram() != NULL) { |
+ stop_time_ = 0; |
+ start_time_ = OS::Ticks(); |
+ } |
+} |
+ |
+// Stop the timer and record the results. |
+void HistogramTimer::Stop() { |
+ if (histogram_ != NULL) { |
+ stop_time_ = OS::Ticks(); |
+ |
+ // Compute the delta between start and stop, in milliseconds. |
+ int milliseconds = static_cast<int>(stop_time_ - start_time_) / 1000; |
+ StatsTable::AddHistogramSample(histogram_, milliseconds); |
+ } |
+} |
+ |
} } // namespace v8::internal |