|
10 | 10 | // process.binding(), process._linkedBinding(), internalBinding() and |
11 | 11 | // NativeModule. And then{internalBinding, NativeModule } will be passed |
12 | 12 | // into this bootstrapper to bootstrap Node.js core. |
13 | | - |
14 | 13 | 'use strict'; |
15 | 14 |
|
16 | | -(functionbootstrapNodeJSCore(process,{ internalBinding, NativeModule }){ |
| 15 | +(functionbootstrapNodeJSCore(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 }){ |
17 | 26 | constexceptionHandlerState={captureFn: null}; |
18 | 27 |
|
19 | 28 | functionstartup(){ |
|
36 | 45 | const_process=NativeModule.require('internal/process'); |
37 | 46 | _process.setupConfig(NativeModule._source); |
38 | 47 | _process.setupSignalHandlers(); |
39 | | -_process.setupUncaughtExceptionCapture(exceptionHandlerState); |
| 48 | +_process.setupUncaughtExceptionCapture(exceptionHandlerState, |
| 49 | +_shouldAbortOnUncaughtToggle); |
40 | 50 | 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); |
42 | 53 | 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); |
44 | 66 |
|
45 | 67 | constperf=process.binding('performance'); |
46 | 68 | const{ |
|
55 | 77 | NODE_PERFORMANCE_MILESTONE_PRELOAD_MODULE_LOAD_END |
56 | 78 | }=perf.constants; |
57 | 79 |
|
58 | | -_process.setup_hrtime(); |
59 | | -_process.setup_cpuUsage(); |
60 | | -_process.setupMemoryUsage(); |
| 80 | +_process.setup_hrtime(_hrtime); |
| 81 | +_process.setup_cpuUsage(_cpuUsage); |
| 82 | +_process.setupMemoryUsage(_memoryUsage); |
61 | 83 | _process.setupKillAndExit(); |
62 | 84 | if(global.__coverage__) |
63 | 85 | NativeModule.require('internal/process/write-coverage').setup(); |
|
79 | 101 | } |
80 | 102 |
|
81 | 103 | _process.setupChannel(); |
82 | | -_process.setupRawDebug(); |
| 104 | +_process.setupRawDebug(_rawDebug); |
83 | 105 |
|
84 | 106 | constbrowserGlobals=!process._noBrowserGlobals; |
85 | 107 | if(browserGlobals){ |
|
294 | 316 | } |
295 | 317 |
|
296 | 318 | functionsetupProcessObject(){ |
297 | | -process._setupProcessObject(pushValueToArray); |
| 319 | +_setupProcessObject(pushValueToArray); |
298 | 320 |
|
299 | 321 | functionpushValueToArray(){ |
300 | 322 | for(vari=0;i<arguments.length;i++) |
|
0 commit comments