Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1149)

Unified Diff: src/d8.cc

Issue 2471583004: [Tracing] Make TracingCategoryObserver v8 internal. (Closed)
Patch Set: use unique_ptr Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/v8-tracing.h ('k') | src/tracing/tracing-category-observer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/d8.cc
diff --git a/src/d8.cc b/src/d8.cc
index 3c6bda09d71252b499ab976abe4efc45893f0f22..7f7f5b944b99a82c63c5d970a1bc6b59a8715209 100644
--- a/src/d8.cc
+++ b/src/d8.cc
@@ -22,7 +22,6 @@
#include "include/libplatform/libplatform.h"
#include "include/libplatform/v8-tracing.h"
-#include "include/v8-tracing.h"
#include "src/api.h"
#include "src/base/cpu.h"
#include "src/base/debug/stack_trace.h"
@@ -153,7 +152,6 @@ class PredictablePlatform : public Platform {
v8::Platform* g_platform = NULL;
-std::unique_ptr<tracing::TracingCategoryObserver> g_tracing_category_observer;
static Local<Value> Throw(Isolate* isolate, const char* message) {
return isolate->ThrowException(
@@ -2823,6 +2821,21 @@ int Shell::Main(int argc, char* argv[]) {
? new PredictablePlatform()
: v8::platform::CreateDefaultPlatform();
+ std::unique_ptr<platform::tracing::TracingController> tracing_controller;
+ if (options.trace_enabled) {
+ trace_file.open("v8_trace.json");
+ tracing_controller.reset(new platform::tracing::TracingController());
+ platform::tracing::TraceBuffer* trace_buffer =
+ platform::tracing::TraceBuffer::CreateTraceBufferRingBuffer(
+ platform::tracing::TraceBuffer::kRingBufferChunks,
+ platform::tracing::TraceWriter::CreateJSONTraceWriter(trace_file));
+ tracing_controller->Initialize(trace_buffer);
+ if (!i::FLAG_verify_predictable) {
+ platform::SetTracingController(g_platform, tracing_controller.get());
alph 2016/11/03 20:19:27 you can use release right here. it returns raw poi
+ tracing_controller.release();
+ }
+ }
+
v8::V8::InitializePlatform(g_platform);
v8::V8::Initialize();
if (options.natives_blob || options.snapshot_blob) {
@@ -2857,6 +2870,7 @@ int Shell::Main(int argc, char* argv[]) {
create_params.create_histogram_callback = CreateHistogram;
create_params.add_histogram_sample_callback = AddHistogramSample;
}
+
Isolate* isolate = Isolate::New(create_params);
{
Isolate::Scope scope(isolate);
@@ -2864,14 +2878,6 @@ int Shell::Main(int argc, char* argv[]) {
PerIsolateData data(isolate);
if (options.trace_enabled) {
- trace_file.open("v8_trace.json");
- platform::tracing::TracingController* tracing_controller =
- new platform::tracing::TracingController();
- platform::tracing::TraceBuffer* trace_buffer =
- platform::tracing::TraceBuffer::CreateTraceBufferRingBuffer(
- platform::tracing::TraceBuffer::kRingBufferChunks,
- platform::tracing::TraceWriter::CreateJSONTraceWriter(
- trace_file));
platform::tracing::TraceConfig* trace_config;
if (options.trace_config) {
int size = 0;
@@ -2884,14 +2890,6 @@ int Shell::Main(int argc, char* argv[]) {
trace_config =
platform::tracing::TraceConfig::CreateDefaultTraceConfig();
}
- tracing_controller->Initialize(trace_buffer);
- if (!i::FLAG_verify_predictable) {
- platform::SetTracingController(g_platform, tracing_controller);
- }
- g_tracing_category_observer = tracing::TracingCategoryObserver::Create();
- g_platform->AddTraceStateObserver(
- reinterpret_cast<Platform::TraceStateObserver*>(
- g_tracing_category_observer.get()));
tracing_controller->StartTracing(trace_config);
}
@@ -2953,9 +2951,6 @@ int Shell::Main(int argc, char* argv[]) {
isolate->Dispose();
V8::Dispose();
V8::ShutdownPlatform();
- g_platform->RemoveTraceStateObserver(
- reinterpret_cast<Platform::TraceStateObserver*>(
- g_tracing_category_observer.get()));
delete g_platform;
return result;
« no previous file with comments | « include/v8-tracing.h ('k') | src/tracing/tracing-category-observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698