summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/node.cc9
-rw-r--r--src/node.h1
-rw-r--r--test/cctest/node_test_fixture.h8
3 files changed, 11 insertions, 7 deletions
diff --git a/src/node.cc b/src/node.cc
index 68f2388879..89e4f76cac 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -2990,6 +2990,12 @@ MultiIsolatePlatform* CreatePlatform(
}
+MultiIsolatePlatform* InitializeV8Platform(int thread_pool_size) {
+ v8_platform.Initialize(thread_pool_size);
+ return v8_platform.Platform();
+}
+
+
void FreePlatform(MultiIsolatePlatform* platform) {
delete platform;
}
@@ -3209,8 +3215,7 @@ int Start(int argc, char** argv) {
V8::SetEntropySource(crypto::EntropySource);
#endif // HAVE_OPENSSL
- v8_platform.Initialize(
- per_process_opts->v8_thread_pool_size);
+ InitializeV8Platform(per_process_opts->v8_thread_pool_size);
V8::Initialize();
performance::performance_v8_start = PERFORMANCE_NOW();
v8_initialized = true;
diff --git a/src/node.h b/src/node.h
index 8bd4bd1549..9b4dfa6e14 100644
--- a/src/node.h
+++ b/src/node.h
@@ -291,6 +291,7 @@ NODE_EXTERN MultiIsolatePlatform* GetMainThreadMultiIsolatePlatform();
NODE_EXTERN MultiIsolatePlatform* CreatePlatform(
int thread_pool_size,
v8::TracingController* tracing_controller);
+MultiIsolatePlatform* InitializeV8Platform(int thread_pool_size);
NODE_EXTERN void FreePlatform(MultiIsolatePlatform* platform);
NODE_EXTERN void EmitBeforeExit(Environment* env);
diff --git a/test/cctest/node_test_fixture.h b/test/cctest/node_test_fixture.h
index 4a729be09c..775a211f54 100644
--- a/test/cctest/node_test_fixture.h
+++ b/test/cctest/node_test_fixture.h
@@ -70,9 +70,9 @@ class NodeTestFixture : public ::testing::Test {
tracing_controller.reset(new v8::TracingController());
node::tracing::TraceEventHelper::SetTracingController(
tracing_controller.get());
- platform.reset(new node::NodePlatform(4, nullptr));
CHECK_EQ(0, uv_loop_init(&current_loop));
- v8::V8::InitializePlatform(platform.get());
+ platform.reset(static_cast<node::NodePlatform*>(
+ node::InitializeV8Platform(4)));
v8::V8::Initialize();
}
@@ -88,10 +88,8 @@ class NodeTestFixture : public ::testing::Test {
virtual void SetUp() {
allocator = ArrayBufferUniquePtr(node::CreateArrayBufferAllocator(),
&node::FreeArrayBufferAllocator);
- isolate_ = NewIsolate(allocator.get());
+ isolate_ = NewIsolate(allocator.get(), &current_loop);
CHECK_NE(isolate_, nullptr);
- platform->RegisterIsolate(isolate_, &current_loop);
- v8::Isolate::Initialize(isolate_, params);
}
virtual void TearDown() {