Skip to content

Commit 0e84e56

Browse files
committed
src: add public API for managing NodePlatform
1 parent 5df47d0 commit 0e84e56

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/node.cc

+12
Original file line numberDiff line numberDiff line change
@@ -4490,6 +4490,18 @@ void FreeEnvironment(Environment* env) {
44904490
}
44914491

44924492

4493+
MultiIsolatePlatform* CreatePlatform(
4494+
int thread_pool_size,
4495+
v8::TracingController* tracing_controller) {
4496+
return new NodePlatform(thread_pool_size, tracing_controller);
4497+
}
4498+
4499+
4500+
void FreePlatform(MultiIsolatePlatform* platform) {
4501+
delete platform;
4502+
}
4503+
4504+
44934505
Local<Context> NewContext(Isolate* isolate,
44944506
Local<ObjectTemplate> object_template) {
44954507
auto context = Context::New(isolate, nullptr, object_template);

src/node.h

+10
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,11 @@
9797
// Forward-declare libuv loop
9898
struct uv_loop_s;
9999

100+
// Forward-declare TracingController, used by CreatePlatform.
101+
namespace v8 {
102+
class TracingController;
103+
}
104+
100105
// Forward-declare these functions now to stop MSVS from becoming
101106
// terminally confused when it's done in node_internals.h
102107
namespace node {
@@ -244,6 +249,11 @@ NODE_EXTERN Environment* CreateEnvironment(IsolateData* isolate_data,
244249
NODE_EXTERN void LoadEnvironment(Environment* env);
245250
NODE_EXTERN void FreeEnvironment(Environment* env);
246251

252+
NODE_EXTERN MultiIsolatePlatform* CreatePlatform(
253+
int thread_pool_size,
254+
v8::TracingController* tracing_controller);
255+
NODE_EXTERN void FreePlatform(MultiIsolatePlatform* platform);
256+
247257
NODE_EXTERN void EmitBeforeExit(Environment* env);
248258
NODE_EXTERN int EmitExit(Environment* env);
249259
NODE_EXTERN void RunAtExit(Environment* env);

0 commit comments

Comments
 (0)