diff options
Diffstat (limited to 'deps/v8/src/tracing/tracing-category-observer.cc')
-rw-r--r-- | deps/v8/src/tracing/tracing-category-observer.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/deps/v8/src/tracing/tracing-category-observer.cc b/deps/v8/src/tracing/tracing-category-observer.cc index 3e286620dc..28c107d88f 100644 --- a/deps/v8/src/tracing/tracing-category-observer.cc +++ b/deps/v8/src/tracing/tracing-category-observer.cc @@ -4,6 +4,7 @@ #include "src/tracing/tracing-category-observer.h" +#include "src/base/atomic-utils.h" #include "src/flags.h" #include "src/tracing/trace-event.h" #include "src/v8.h" @@ -37,12 +38,16 @@ void TracingCategoryObserver::OnTraceEnabled() { TRACE_EVENT_CATEGORY_GROUP_ENABLED( TRACE_DISABLED_BY_DEFAULT("v8.runtime_stats"), &enabled); if (enabled) { - v8::internal::FLAG_runtime_stats |= ENABLED_BY_TRACING; + base::AsAtomic32::Relaxed_Store( + &v8::internal::FLAG_runtime_stats, + (v8::internal::FLAG_runtime_stats | ENABLED_BY_TRACING)); } TRACE_EVENT_CATEGORY_GROUP_ENABLED( TRACE_DISABLED_BY_DEFAULT("v8.runtime_stats_sampling"), &enabled); if (enabled) { - v8::internal::FLAG_runtime_stats |= ENABLED_BY_SAMPLING; + base::AsAtomic32::Relaxed_Store( + &v8::internal::FLAG_runtime_stats, + v8::internal::FLAG_runtime_stats | ENABLED_BY_SAMPLING); } TRACE_EVENT_CATEGORY_GROUP_ENABLED(TRACE_DISABLED_BY_DEFAULT("v8.gc_stats"), &enabled); @@ -57,8 +62,10 @@ void TracingCategoryObserver::OnTraceEnabled() { } void TracingCategoryObserver::OnTraceDisabled() { - v8::internal::FLAG_runtime_stats &= - ~(ENABLED_BY_TRACING | ENABLED_BY_SAMPLING); + base::AsAtomic32::Relaxed_Store( + &v8::internal::FLAG_runtime_stats, + v8::internal::FLAG_runtime_stats & + ~(ENABLED_BY_TRACING | ENABLED_BY_SAMPLING)); v8::internal::FLAG_gc_stats &= ~ENABLED_BY_TRACING; v8::internal::FLAG_ic_stats &= ~ENABLED_BY_TRACING; } |