diff options
Diffstat (limited to 'src/3rdparty/v8/src/v8-counters.cc')
-rw-r--r-- | src/3rdparty/v8/src/v8-counters.cc | 58 |
1 files changed, 56 insertions, 2 deletions
diff --git a/src/3rdparty/v8/src/v8-counters.cc b/src/3rdparty/v8/src/v8-counters.cc index c6aa9cb..3f83dff 100644 --- a/src/3rdparty/v8/src/v8-counters.cc +++ b/src/3rdparty/v8/src/v8-counters.cc @@ -1,4 +1,4 @@ -// Copyright 2007-2008 the V8 project authors. All rights reserved. +// Copyright 2012 the V8 project authors. All rights reserved. // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -34,11 +34,23 @@ namespace internal { Counters::Counters() { #define HT(name, caption) \ - HistogramTimer name = { #caption, NULL, false, 0, 0 }; \ + HistogramTimer name = { {#caption, 0, 10000, 50, NULL, false}, 0, 0 }; \ name##_ = name; HISTOGRAM_TIMER_LIST(HT) #undef HT +#define HP(name, caption) \ + Histogram name = { #caption, 0, 101, 100, NULL, false }; \ + name##_ = name; + HISTOGRAM_PERCENTAGE_LIST(HP) +#undef HP + +#define HM(name, caption) \ + Histogram name = { #caption, 1000, 500000, 50, NULL, false }; \ + name##_ = name; + HISTOGRAM_MEMORY_LIST(HM) +#undef HM + #define SC(name, caption) \ StatsCounter name = { "c:" #caption, NULL, false };\ name##_ = name; @@ -47,6 +59,34 @@ Counters::Counters() { STATS_COUNTER_LIST_2(SC) #undef SC +#define SC(name) \ + StatsCounter count_of_##name = { "c:" "V8.CountOf_" #name, NULL, false };\ + count_of_##name##_ = count_of_##name; \ + StatsCounter size_of_##name = { "c:" "V8.SizeOf_" #name, NULL, false };\ + size_of_##name##_ = size_of_##name; + INSTANCE_TYPE_LIST(SC) +#undef SC + +#define SC(name) \ + StatsCounter count_of_CODE_TYPE_##name = { \ + "c:" "V8.CountOf_CODE_TYPE-" #name, NULL, false }; \ + count_of_CODE_TYPE_##name##_ = count_of_CODE_TYPE_##name; \ + StatsCounter size_of_CODE_TYPE_##name = { \ + "c:" "V8.SizeOf_CODE_TYPE-" #name, NULL, false }; \ + size_of_CODE_TYPE_##name##_ = size_of_CODE_TYPE_##name; + CODE_KIND_LIST(SC) +#undef SC + +#define SC(name) \ + StatsCounter count_of_FIXED_ARRAY_##name = { \ + "c:" "V8.CountOf_FIXED_ARRAY-" #name, NULL, false }; \ + count_of_FIXED_ARRAY_##name##_ = count_of_FIXED_ARRAY_##name; \ + StatsCounter size_of_FIXED_ARRAY_##name = { \ + "c:" "V8.SizeOf_FIXED_ARRAY-" #name, NULL, false }; \ + size_of_FIXED_ARRAY_##name##_ = size_of_FIXED_ARRAY_##name; + FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST(SC) +#undef SC + StatsCounter state_counters[] = { #define COUNTER_NAME(name) \ { "c:V8.State" #name, NULL, false }, @@ -59,4 +99,18 @@ Counters::Counters() { } } +void Counters::ResetHistograms() { +#define HT(name, caption) name##_.Reset(); + HISTOGRAM_TIMER_LIST(HT) +#undef HT + +#define HP(name, caption) name##_.Reset(); + HISTOGRAM_PERCENTAGE_LIST(HP) +#undef HP + +#define HM(name, caption) name##_.Reset(); + HISTOGRAM_MEMORY_LIST(HM) +#undef HM +} + } } // namespace v8::internal |