diff options
Diffstat (limited to 'chromium/v8/src/logging')
-rw-r--r-- | chromium/v8/src/logging/counters-inl.h | 1 | ||||
-rw-r--r-- | chromium/v8/src/logging/counters.cc | 5 | ||||
-rw-r--r-- | chromium/v8/src/logging/counters.h | 28 | ||||
-rw-r--r-- | chromium/v8/src/logging/log-utils.h | 2 | ||||
-rw-r--r-- | chromium/v8/src/logging/log.h | 4 | ||||
-rw-r--r-- | chromium/v8/src/logging/off-thread-logger.h | 1 | ||||
-rw-r--r-- | chromium/v8/src/logging/tracing-flags.cc | 17 | ||||
-rw-r--r-- | chromium/v8/src/logging/tracing-flags.h | 50 |
8 files changed, 73 insertions, 35 deletions
diff --git a/chromium/v8/src/logging/counters-inl.h b/chromium/v8/src/logging/counters-inl.h index 3b4acf1f93d..3e067c7c060 100644 --- a/chromium/v8/src/logging/counters-inl.h +++ b/chromium/v8/src/logging/counters-inl.h @@ -6,6 +6,7 @@ #define V8_LOGGING_COUNTERS_INL_H_ #include "src/logging/counters.h" +#include "src/logging/tracing-flags.h" namespace v8 { namespace internal { diff --git a/chromium/v8/src/logging/counters.cc b/chromium/v8/src/logging/counters.cc index 21248389b2c..386bb8a75a1 100644 --- a/chromium/v8/src/logging/counters.cc +++ b/chromium/v8/src/logging/counters.cc @@ -17,11 +17,6 @@ namespace v8 { namespace internal { -std::atomic_uint TracingFlags::runtime_stats{0}; -std::atomic_uint TracingFlags::gc{0}; -std::atomic_uint TracingFlags::gc_stats{0}; -std::atomic_uint TracingFlags::ic_stats{0}; - StatsTable::StatsTable(Counters* counters) : lookup_function_(nullptr), create_histogram_function_(nullptr), diff --git a/chromium/v8/src/logging/counters.h b/chromium/v8/src/logging/counters.h index 02a6feee2e3..5002d6e9a10 100644 --- a/chromium/v8/src/logging/counters.h +++ b/chromium/v8/src/logging/counters.h @@ -16,6 +16,7 @@ #include "src/execution/isolate.h" #include "src/init/heap-symbols.h" #include "src/logging/counters-definitions.h" +#include "src/logging/tracing-flags.h" #include "src/objects/objects.h" #include "src/runtime/runtime.h" #include "src/tracing/trace-event.h" @@ -26,33 +27,6 @@ namespace v8 { namespace internal { -// This struct contains a set of flags that can be modified from multiple -// threads at runtime unlike the normal FLAG_-like flags which are not modified -// after V8 instance is initialized. - -struct TracingFlags { - static V8_EXPORT_PRIVATE std::atomic_uint runtime_stats; - static V8_EXPORT_PRIVATE std::atomic_uint gc; - static V8_EXPORT_PRIVATE std::atomic_uint gc_stats; - static V8_EXPORT_PRIVATE std::atomic_uint ic_stats; - - static bool is_runtime_stats_enabled() { - return runtime_stats.load(std::memory_order_relaxed) != 0; - } - - static bool is_gc_enabled() { - return gc.load(std::memory_order_relaxed) != 0; - } - - static bool is_gc_stats_enabled() { - return gc_stats.load(std::memory_order_relaxed) != 0; - } - - static bool is_ic_stats_enabled() { - return ic_stats.load(std::memory_order_relaxed) != 0; - } -}; - // StatsCounters is an interface for plugging into external // counters for monitoring. Counters can be looked up and // manipulated by name. diff --git a/chromium/v8/src/logging/log-utils.h b/chromium/v8/src/logging/log-utils.h index e89a449f3b4..bae665cd456 100644 --- a/chromium/v8/src/logging/log-utils.h +++ b/chromium/v8/src/logging/log-utils.h @@ -37,7 +37,7 @@ class Log { FLAG_log_suspect || FLAG_ll_prof || FLAG_perf_basic_prof || FLAG_perf_prof || FLAG_log_source_code || FLAG_gdbjit || FLAG_log_internal_timer_events || FLAG_prof_cpp || FLAG_trace_ic || - FLAG_log_function_events; + FLAG_log_function_events || FLAG_trace_zone_stats; } // Frees all resources acquired in Initialize and Open... functions. diff --git a/chromium/v8/src/logging/log.h b/chromium/v8/src/logging/log.h index 98723a533a0..70f562dee3f 100644 --- a/chromium/v8/src/logging/log.h +++ b/chromium/v8/src/logging/log.h @@ -72,13 +72,13 @@ class Ticker; #undef LOG #define LOG(isolate, Call) \ do { \ - auto* logger = (isolate)->logger(); \ + auto&& logger = (isolate)->logger(); \ if (logger->is_logging()) logger->Call; \ } while (false) #define LOG_CODE_EVENT(isolate, Call) \ do { \ - auto* logger = (isolate)->logger(); \ + auto&& logger = (isolate)->logger(); \ if (logger->is_listening_to_code_events()) logger->Call; \ } while (false) diff --git a/chromium/v8/src/logging/off-thread-logger.h b/chromium/v8/src/logging/off-thread-logger.h index fab58c311bf..f55e429e31c 100644 --- a/chromium/v8/src/logging/off-thread-logger.h +++ b/chromium/v8/src/logging/off-thread-logger.h @@ -19,6 +19,7 @@ class OffThreadLogger { void ScriptEvent(Logger::ScriptEventType type, int script_id) { UNREACHABLE(); } + void ScriptDetails(Script script) { UNREACHABLE(); } void CodeLinePosInfoRecordEvent(Address code_start, ByteArray source_position_table) { UNREACHABLE(); diff --git a/chromium/v8/src/logging/tracing-flags.cc b/chromium/v8/src/logging/tracing-flags.cc new file mode 100644 index 00000000000..930469fde74 --- /dev/null +++ b/chromium/v8/src/logging/tracing-flags.cc @@ -0,0 +1,17 @@ +// Copyright 2020 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "src/logging/tracing-flags.h" + +namespace v8 { +namespace internal { + +std::atomic_uint TracingFlags::runtime_stats{0}; +std::atomic_uint TracingFlags::gc{0}; +std::atomic_uint TracingFlags::gc_stats{0}; +std::atomic_uint TracingFlags::ic_stats{0}; +std::atomic_uint TracingFlags::zone_stats{0}; + +} // namespace internal +} // namespace v8 diff --git a/chromium/v8/src/logging/tracing-flags.h b/chromium/v8/src/logging/tracing-flags.h new file mode 100644 index 00000000000..b23ed03a20a --- /dev/null +++ b/chromium/v8/src/logging/tracing-flags.h @@ -0,0 +1,50 @@ +// Copyright 2020 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_LOGGING_TRACING_FLAGS_H_ +#define V8_LOGGING_TRACING_FLAGS_H_ + +#include <atomic> + +#include "src/base/macros.h" + +namespace v8 { +namespace internal { + +// This struct contains a set of flags that can be modified from multiple +// threads at runtime unlike the normal FLAG_-like flags which are not modified +// after V8 instance is initialized. + +struct TracingFlags { + static V8_EXPORT_PRIVATE std::atomic_uint runtime_stats; + static V8_EXPORT_PRIVATE std::atomic_uint gc; + static V8_EXPORT_PRIVATE std::atomic_uint gc_stats; + static V8_EXPORT_PRIVATE std::atomic_uint ic_stats; + static V8_EXPORT_PRIVATE std::atomic_uint zone_stats; + + static bool is_runtime_stats_enabled() { + return runtime_stats.load(std::memory_order_relaxed) != 0; + } + + static bool is_gc_enabled() { + return gc.load(std::memory_order_relaxed) != 0; + } + + static bool is_gc_stats_enabled() { + return gc_stats.load(std::memory_order_relaxed) != 0; + } + + static bool is_ic_stats_enabled() { + return ic_stats.load(std::memory_order_relaxed) != 0; + } + + static bool is_zone_stats_enabled() { + return zone_stats.load(std::memory_order_relaxed) != 0; + } +}; + +} // namespace internal +} // namespace v8 + +#endif // V8_LOGGING_TRACING_FLAGS_H_ |