Index: src/profiler/tracing-cpu-profiler.h |
diff --git a/src/profiler/tracing-cpu-profiler.h b/src/profiler/tracing-cpu-profiler.h |
index 80f1bdcc9286bbb225eb2d7fe4be812a326c31a8..a512a940f8578b49c7419e8507851f2925a7a8d4 100644 |
--- a/src/profiler/tracing-cpu-profiler.h |
+++ b/src/profiler/tracing-cpu-profiler.h |
@@ -5,18 +5,37 @@ |
#ifndef V8_PROFILER_TRACING_CPU_PROFILER_H |
#define V8_PROFILER_TRACING_CPU_PROFILER_H |
+#include "include/v8-platform.h" |
#include "include/v8-profiler.h" |
+#include "src/base/atomic-utils.h" |
#include "src/base/macros.h" |
+#include "src/base/platform/mutex.h" |
namespace v8 { |
namespace internal { |
-class TracingCpuProfilerImpl final : public TracingCpuProfiler { |
+class CpuProfiler; |
+class Isolate; |
+ |
+class TracingCpuProfilerImpl final : public TracingCpuProfiler, |
+ private v8::Platform::TraceStateObserver { |
public: |
explicit TracingCpuProfilerImpl(Isolate*); |
~TracingCpuProfilerImpl(); |
+ // v8::Platform::TraceStateObserver |
+ void OnTraceEnabled() final; |
+ void OnTraceDisabled() final; |
+ |
private: |
+ void StartProfiling(); |
+ void StopProfiling(); |
+ |
+ Isolate* isolate_; |
+ std::unique_ptr<CpuProfiler> profiler_; |
+ bool profiling_enabled_; |
+ base::Mutex mutex_; |
+ |
DISALLOW_COPY_AND_ASSIGN(TracingCpuProfilerImpl); |
}; |