summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/internal/bootstrap/node.js8
-rw-r--r--src/bootstrapper.cc7
-rw-r--r--src/node_trace_events.cc11
3 files changed, 16 insertions, 10 deletions
diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js
index c375374164..dcb0be8f7e 100644
--- a/lib/internal/bootstrap/node.js
+++ b/lib/internal/bootstrap/node.js
@@ -18,7 +18,6 @@
/* global isMainThread */
const {
- _setupTraceCategoryState,
_setupNextTick,
_setupPromises
} = bootstrappers;
@@ -431,7 +430,10 @@ function readAndExecuteStdin() {
}
function setupTraceCategoryState() {
- const { traceCategoryState } = internalBinding('trace_events');
+ const {
+ traceCategoryState,
+ setTraceCategoryStateUpdateHandler
+ } = internalBinding('trace_events');
const kCategoryAsyncHooks = 0;
let traceEventsAsyncHook;
@@ -453,7 +455,7 @@ function setupTraceCategoryState() {
}
toggleTraceCategoryState();
- _setupTraceCategoryState(toggleTraceCategoryState);
+ setTraceCategoryStateUpdateHandler(toggleTraceCategoryState);
}
function setupProcessObject() {
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
index 60c05a58a6..b46ba5bada 100644
--- a/src/bootstrapper.cc
+++ b/src/bootstrapper.cc
@@ -30,12 +30,6 @@ void RunMicrotasks(const FunctionCallbackInfo<Value>& args) {
args.GetIsolate()->RunMicrotasks();
}
-void SetupTraceCategoryState(const FunctionCallbackInfo<Value>& args) {
- Environment* env = Environment::GetCurrent(args);
- CHECK(args[0]->IsFunction());
- env->set_trace_category_state_function(args[0].As<Function>());
-}
-
void SetupNextTick(const FunctionCallbackInfo<Value>& args) {
Environment* env = Environment::GetCurrent(args);
Isolate* isolate = env->isolate();
@@ -136,7 +130,6 @@ void SetupPromises(const FunctionCallbackInfo<Value>& args) {
// completes so that it can be gc'd as soon as possible.
void SetupBootstrapObject(Environment* env,
Local<Object> bootstrapper) {
- BOOTSTRAP_METHOD(_setupTraceCategoryState, SetupTraceCategoryState);
BOOTSTRAP_METHOD(_setupNextTick, SetupNextTick);
BOOTSTRAP_METHOD(_setupPromises, SetupPromises);
}
diff --git a/src/node_trace_events.cc b/src/node_trace_events.cc
index 1dfb1de2fc..3c0f1cf68f 100644
--- a/src/node_trace_events.cc
+++ b/src/node_trace_events.cc
@@ -11,6 +11,7 @@ namespace node {
using v8::Array;
using v8::Context;
+using v8::Function;
using v8::FunctionCallbackInfo;
using v8::FunctionTemplate;
using v8::Local;
@@ -102,6 +103,13 @@ void GetEnabledCategories(const FunctionCallbackInfo<Value>& args) {
}
}
+static void SetTraceCategoryStateUpdateHandler(
+ const FunctionCallbackInfo<Value>& args) {
+ Environment* env = Environment::GetCurrent(args);
+ CHECK(args[0]->IsFunction());
+ env->set_trace_category_state_function(args[0].As<Function>());
+}
+
void NodeCategorySet::Initialize(Local<Object> target,
Local<Value> unused,
Local<Context> context,
@@ -109,6 +117,9 @@ void NodeCategorySet::Initialize(Local<Object> target,
Environment* env = Environment::GetCurrent(context);
env->SetMethod(target, "getEnabledCategories", GetEnabledCategories);
+ env->SetMethod(
+ target, "setTraceCategoryStateUpdateHandler",
+ SetTraceCategoryStateUpdateHandler);
Local<FunctionTemplate> category_set =
env->NewFunctionTemplate(NodeCategorySet::New);