◐ Shell
clean mode source ↗

src: refactor bootstrap to use bootstrap object · nodejs/node@ba17c9e

@@ -10,10 +10,19 @@

1010

// process.binding(), process._linkedBinding(), internalBinding() and

1111

// NativeModule. And then { internalBinding, NativeModule } will be passed

1212

// into this bootstrapper to bootstrap Node.js core.

13-1413

'use strict';

151416-

(function bootstrapNodeJSCore(process, { internalBinding, NativeModule }) {

15+

(function bootstrapNodeJSCore(process,

16+

// bootstrapper properties... destructured to

17+

// avoid retaining a reference to the bootstrap

18+

// object.

19+

{ _setupProcessObject, _setupNextTick,

20+

_setupPromises, _chdir, _cpuUsage,

21+

_hrtime, _memoryUsage, _rawDebug,

22+

_umask, _initgroups, _setegid, _seteuid,

23+

_setgid, _setuid, _setgroups,

24+

_shouldAbortOnUncaughtToggle },

25+

{ internalBinding, NativeModule }) {

1726

const exceptionHandlerState = { captureFn: null };

18271928

function startup() {

@@ -36,11 +45,24 @@

3645

const _process = NativeModule.require('internal/process');

3746

_process.setupConfig(NativeModule._source);

3847

_process.setupSignalHandlers();

39-

_process.setupUncaughtExceptionCapture(exceptionHandlerState);

48+

_process.setupUncaughtExceptionCapture(exceptionHandlerState,

49+

_shouldAbortOnUncaughtToggle);

4050

NativeModule.require('internal/process/warning').setup();

41-

NativeModule.require('internal/process/next_tick').setup();

51+

NativeModule.require('internal/process/next_tick').setup(_setupNextTick,

52+

_setupPromises);

4253

NativeModule.require('internal/process/stdio').setup();

43-

NativeModule.require('internal/process/methods').setup();

54+

NativeModule.require('internal/process/methods').setup(_chdir,

55+

_cpuUsage,

56+

_hrtime,

57+

_memoryUsage,

58+

_rawDebug,

59+

_umask,

60+

_initgroups,

61+

_setegid,

62+

_seteuid,

63+

_setgid,

64+

_setuid,

65+

_setgroups);

44664567

const perf = process.binding('performance');

4668

const {

@@ -55,9 +77,9 @@

5577

NODE_PERFORMANCE_MILESTONE_PRELOAD_MODULE_LOAD_END

5678

} = perf.constants;

577958-

_process.setup_hrtime();

59-

_process.setup_cpuUsage();

60-

_process.setupMemoryUsage();

80+

_process.setup_hrtime(_hrtime);

81+

_process.setup_cpuUsage(_cpuUsage);

82+

_process.setupMemoryUsage(_memoryUsage);

6183

_process.setupKillAndExit();

6284

if (global.__coverage__)

6385

NativeModule.require('internal/process/write-coverage').setup();

@@ -79,7 +101,7 @@

79101

}

8010281103

_process.setupChannel();

82-

_process.setupRawDebug();

104+

_process.setupRawDebug(_rawDebug);

8310584106

const browserGlobals = !process._noBrowserGlobals;

85107

if (browserGlobals) {

294316

}

295317296318

function setupProcessObject() {

297-

process._setupProcessObject(pushValueToArray);

319+

_setupProcessObject(pushValueToArray);

298320299321

function pushValueToArray() {

300322

for (var i = 0; i < arguments.length; i++)