From 8fddf591c5cf0779b3f8d6d3c9ea6af789a3e95f Mon Sep 17 00:00:00 2001 From: James M Snell Date: Sun, 3 Jun 2018 16:30:15 -0700 Subject: [PATCH] perf_hooks: set bootstrap complete in only one place PR-URL: https://github.com/nodejs/node/pull/21247 Reviewed-By: Anna Henningsen Reviewed-By: Tiancheng "Timothy" Gu --- lib/internal/bootstrap/node.js | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js index 4817ec110a99e5..7b836b466f5d9c 100644 --- a/lib/internal/bootstrap/node.js +++ b/lib/internal/bootstrap/node.js @@ -174,6 +174,8 @@ } } + perf.markMilestone(NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE); + // There are various modes that Node can run in. The most common two // are running from a script and running the REPL - but there are a few // others like the debugger or running --eval arguments. Here we decide @@ -186,7 +188,6 @@ // To allow people to extend Node in different ways, this hook allows // one to drop a file lib/_third_party_main.js into the build // directory which will be executed instead of Node's normal loading. - perf.markMilestone(NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE); process.nextTick(function() { perf.markMilestone(NODE_PERFORMANCE_MILESTONE_THIRD_PARTY_MAIN_START); NativeModule.require('_third_party_main'); @@ -200,13 +201,11 @@ } // Start the debugger agent. - perf.markMilestone(NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE); process.nextTick(function() { NativeModule.require('internal/deps/node-inspect/lib/_inspect').start(); }); } else if (process.profProcess) { - perf.markMilestone(NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE); NativeModule.require('internal/v8_prof_processor'); } else { // There is user code to be run. @@ -238,7 +237,6 @@ addBuiltinLibsToObject } = NativeModule.require('internal/modules/cjs/helpers'); addBuiltinLibsToObject(global); - perf.markMilestone(NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE); evalScript('[eval]'); } else if (process.argv[1] && process.argv[1] !== '-') { perf.markMilestone(NODE_PERFORMANCE_MILESTONE_MODULE_LOAD_START); @@ -263,7 +261,6 @@ checkScriptSyntax(source, filename); process.exit(0); } - perf.markMilestone(NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE); CJSModule.runMain(); } else { perf.markMilestone(NODE_PERFORMANCE_MILESTONE_MODULE_LOAD_START); @@ -294,7 +291,6 @@ if (process._eval != null) { // User passed '-e' or '--eval' - perf.markMilestone(NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE); evalScript('[eval]'); } } else { @@ -311,14 +307,12 @@ checkScriptSyntax(code, '[stdin]'); } else { process._eval = code; - perf.markMilestone(NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE); evalScript('[stdin]'); } }); } } } - perf.markMilestone(NODE_PERFORMANCE_MILESTONE_BOOTSTRAP_COMPLETE); } function setupProcessObject() {