diff --git a/src/env.cc b/src/env.cc index 3dbc56b7c56bee..8426148ea74d79 100644 --- a/src/env.cc +++ b/src/env.cc @@ -332,8 +332,8 @@ Environment::Environment(IsolateData* isolate_data, if (tracing::AgentWriterHandle* writer = GetTracingAgentWriter()) { trace_state_observer_ = std::make_unique(this); - TracingController* tracing_controller = writer->GetTracingController(); - tracing_controller->AddTraceStateObserver(trace_state_observer_.get()); + if (TracingController* tracing_controller = writer->GetTracingController()) + tracing_controller->AddTraceStateObserver(trace_state_observer_.get()); } destroy_async_id_list_.reserve(512); @@ -409,8 +409,8 @@ Environment::~Environment() { if (trace_state_observer_) { tracing::AgentWriterHandle* writer = GetTracingAgentWriter(); CHECK_NOT_NULL(writer); - TracingController* tracing_controller = writer->GetTracingController(); - tracing_controller->RemoveTraceStateObserver(trace_state_observer_.get()); + if (TracingController* tracing_controller = writer->GetTracingController()) + tracing_controller->RemoveTraceStateObserver(trace_state_observer_.get()); } delete[] heap_statistics_buffer_; diff --git a/src/node.cc b/src/node.cc index 80916e5244aa36..2812c477925196 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1015,7 +1015,8 @@ InitializationResult InitializeOncePerProcess(int argc, char** argv) { V8::SetEntropySource(crypto::EntropySource); #endif // HAVE_OPENSSL - InitializeV8Platform(per_process::cli_options->v8_thread_pool_size); + per_process::v8_platform.Initialize( + per_process::cli_options->v8_thread_pool_size); V8::Initialize(); performance::performance_v8_start = PERFORMANCE_NOW(); per_process::v8_initialized = true; diff --git a/test/cctest/node_test_fixture.h b/test/cctest/node_test_fixture.h index cd669d23da3384..e71d800c25f858 100644 --- a/test/cctest/node_test_fixture.h +++ b/test/cctest/node_test_fixture.h @@ -81,9 +81,13 @@ class NodeTestFixture : public ::testing::Test { tracing_agent = std::make_unique(); node::tracing::TraceEventHelper::SetAgent(tracing_agent.get()); + node::tracing::TracingController* tracing_controller = + tracing_agent->GetTracingController(); CHECK_EQ(0, uv_loop_init(¤t_loop)); - platform.reset(static_cast( - node::InitializeV8Platform(4))); + static constexpr int kV8ThreadPoolSize = 4; + platform.reset( + new node::NodePlatform(kV8ThreadPoolSize, tracing_controller)); + v8::V8::InitializePlatform(platform.get()); v8::V8::Initialize(); } @@ -99,7 +103,7 @@ class NodeTestFixture : public ::testing::Test { void SetUp() override { allocator = ArrayBufferUniquePtr(node::CreateArrayBufferAllocator(), &node::FreeArrayBufferAllocator); - isolate_ = NewIsolate(allocator.get(), ¤t_loop); + isolate_ = NewIsolate(allocator.get(), ¤t_loop, platform.get()); CHECK_NE(isolate_, nullptr); isolate_->Enter(); }