| Index: src/counters.h
|
| diff --git a/src/counters.h b/src/counters.h
|
| index 41107cfc33b8c944496e37d269c4ba647ad260fc..afd139575db04467bb25d0a262bdb51d2ad44f44 100644
|
| --- a/src/counters.h
|
| +++ b/src/counters.h
|
| @@ -9,6 +9,7 @@
|
| #include "src/allocation.h"
|
| #include "src/base/platform/elapsed-timer.h"
|
| #include "src/globals.h"
|
| +#include "src/log.h"
|
| #include "src/objects.h"
|
|
|
| namespace v8 {
|
| @@ -224,12 +225,9 @@ class Histogram {
|
| class HistogramTimer : public Histogram {
|
| public:
|
| HistogramTimer() { }
|
| - HistogramTimer(const char* name,
|
| - int min,
|
| - int max,
|
| - int num_buckets,
|
| - Isolate* isolate)
|
| - : Histogram(name, min, max, num_buckets, isolate) {}
|
| + HistogramTimer(const char* name, int min, int max, int num_buckets,
|
| + Isolate* isolate, Logger::Overhead overhead)
|
| + : Histogram(name, min, max, num_buckets, isolate), overhead_(overhead) {}
|
|
|
| // Start the timer.
|
| void Start();
|
| @@ -242,6 +240,8 @@ class HistogramTimer : public Histogram {
|
| return Enabled() && timer_.IsStarted();
|
| }
|
|
|
| + Logger::Overhead overhead() { return overhead_; }
|
| +
|
| // TODO(bmeurer): Remove this when HistogramTimerScope is fixed.
|
| #ifdef DEBUG
|
| base::ElapsedTimer* timer() { return &timer_; }
|
| @@ -249,6 +249,7 @@ class HistogramTimer : public Histogram {
|
|
|
| private:
|
| base::ElapsedTimer timer_;
|
| + Logger::Overhead overhead_;
|
| };
|
|
|
| // Helper class for scoping a HistogramTimer.
|
| @@ -297,25 +298,24 @@ class HistogramTimerScope BASE_EMBEDDED {
|
| HR(gc_idle_time_limit_overshot, V8.GCIdleTimeLimit.Overshot, 0, 10000, 101) \
|
| HR(gc_idle_time_limit_undershot, V8.GCIdleTimeLimit.Undershot, 0, 10000, 101)
|
|
|
| -#define HISTOGRAM_TIMER_LIST(HT) \
|
| - /* Garbage collection timers. */ \
|
| - HT(gc_compactor, V8.GCCompactor) \
|
| - HT(gc_scavenger, V8.GCScavenger) \
|
| - HT(gc_context, V8.GCContext) /* GC context cleanup time */ \
|
| - HT(gc_idle_notification, V8.GCIdleNotification) \
|
| - HT(gc_incremental_marking, V8.GCIncrementalMarking) \
|
| - HT(gc_low_memory_notification, V8.GCLowMemoryNotification) \
|
| - /* Parsing timers. */ \
|
| - HT(parse, V8.Parse) \
|
| - HT(parse_lazy, V8.ParseLazy) \
|
| - HT(pre_parse, V8.PreParse) \
|
| - /* Total compilation times. */ \
|
| - HT(compile, V8.Compile) \
|
| - HT(compile_eval, V8.CompileEval) \
|
| - /* Serialization as part of compilation (code caching) */ \
|
| - HT(compile_serialize, V8.CompileSerialize) \
|
| - HT(compile_deserialize, V8.CompileDeserialize)
|
| -
|
| +#define HISTOGRAM_TIMER_LIST(HT) \
|
| + /* Garbage collection timers. */ \
|
| + HT(gc_compactor, V8.GCCompactor, LOW) \
|
| + HT(gc_scavenger, V8.GCScavenger, LOW) \
|
| + HT(gc_context, V8.GCContext, NORMAL) /* GC context cleanup time */ \
|
| + HT(gc_idle_notification, V8.GCIdleNotification, LOW) \
|
| + HT(gc_incremental_marking, V8.GCIncrementalMarking, LOW) \
|
| + HT(gc_low_memory_notification, V8.GCLowMemoryNotification, NORMAL) \
|
| + /* Parsing timers. */ \
|
| + HT(parse, V8.Parse, NORMAL) \
|
| + HT(parse_lazy, V8.ParseLazy, NORMAL) \
|
| + HT(pre_parse, V8.PreParse, NORMAL) \
|
| + /* Total compilation times. */ \
|
| + HT(compile, V8.Compile, NORMAL) \
|
| + HT(compile_eval, V8.CompileEval, NORMAL) \
|
| + /* Serialization as part of compilation (code caching) */ \
|
| + HT(compile_serialize, V8.CompileSerialize, NORMAL) \
|
| + HT(compile_deserialize, V8.CompileDeserialize, NORMAL)
|
|
|
| #define HISTOGRAM_PERCENTAGE_LIST(HP) \
|
| /* Heap fragmentation. */ \
|
| @@ -562,7 +562,7 @@ class Counters {
|
| HISTOGRAM_RANGE_LIST(HR)
|
| #undef HR
|
|
|
| -#define HT(name, caption) \
|
| +#define HT(name, caption, overhead) \
|
| HistogramTimer* name() { return &name##_; }
|
| HISTOGRAM_TIMER_LIST(HT)
|
| #undef HT
|
| @@ -614,7 +614,7 @@ class Counters {
|
| #undef SC
|
|
|
| enum Id {
|
| -#define RATE_ID(name, caption) k_##name,
|
| +#define RATE_ID(name, caption, overhead) k_##name,
|
| HISTOGRAM_TIMER_LIST(RATE_ID)
|
| #undef RATE_ID
|
| #define PERCENTAGE_ID(name, caption) k_##name,
|
| @@ -653,7 +653,7 @@ class Counters {
|
| HISTOGRAM_RANGE_LIST(HR)
|
| #undef HR
|
|
|
| -#define HT(name, caption) \
|
| +#define HT(name, caption, overhead) \
|
| HistogramTimer name##_;
|
| HISTOGRAM_TIMER_LIST(HT)
|
| #undef HT
|
|
|