v11.14.0 proposal by BethGriggs · Pull Request #27163 · nodejs/node
and others added 30 commits
March 28, 2019 20:56* header explicit usage, order, and reduce use of `*-inl.h` * pointer -> const reference when possible * no variable recyclicng * `std::begin/end` prefered over `instance.begin/end` * `USE` for explicit unused resaults Backport-PR-URL: #26649 PR-URL: #26280 Fixes: #25593 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: #26476 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
- Refactor the C++ class to be resuable for other types of profiles - Move the try-catch block around coverage collection callback to be inside the callback to silence potential JSON or write errors. - Use Function::Call instead of MakeCallback to call the coverage message callback since it does not actually need async hook handling. This way we no longer needs to disable the async hooks when writing the coverage results. - Renames `lib/internal/coverage-gen/with_profiler.js` to `lib/internal/profiler.js` because it is now the only way to generate coverage. PR-URL: #26513 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Coe <bencoe@gmail.com>
PR-URL: #26513 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Coe <bencoe@gmail.com>
Since these depends on process runtime states, delay them until pre-execution. PR-URL: #26517 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Shim legacy process object properties of CLI options during pre-execution instead of serializing them during bootstrap. PR-URL: #26517 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
PR-URL: #26493 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Use a RAII approach by default, and make it possible for embedders to use the `ArrayBufferAllocator` directly as a V8 `ArrayBuffer::Allocator`, e.g. when passing to `Isolate::CreateParams` manually. PR-URL: #26525 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Split the API up into its essential parts, namely setting up the creation parameters for the Isolate, creating it, and performing Node.js-specific customization afterwards. PR-URL: #26525 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Instead of patching process._breakFirstLine to inform the JS land to wait for the debugger, check that the JS land has not yet serialized the options and then patch the debug options from C++. The changes will be carried into JS later during option serialization. PR-URL: #26602 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
PR-URL: #23081 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Weijia Wang <starkwang@126.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: John-David Dalton <john.david.dalton@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
PR-URL: #23081 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Weijia Wang <starkwang@126.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: John-David Dalton <john.david.dalton@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
PR-URL: #26769 Reviewed-By: Masashi Hirano <shisama07@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Another nail in the coffin here, farewell ye ol C-style apis. These apis caused numerous other issues that required far too many safeguards. This gets us one step closer to not having to worry about those issues anymore. Refs: #18066 Refs: #20298 PR-URL: #26760 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: #26783 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Instead of relying on the value of the CLI option when executing bootstrap/loaders.js. PR-URL: #26759 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
In the current code, line 497 checks if `item` is `null` or `undefined`.
However, `item` is guaranteed to be a non-null object or function at
that point.
* Lines 484/485 set `primitive` to `true` if `item` is null or
undefined.
* Line 486 skips line 497 if `primitive` is true (which it will always
be if `item` is null or undefined) and `properties` is undefined. So
the only way to get to line 497 when `item` is null or undefined is if
`properties` is specified.
* Line 494 skips line 497 if `primitive` is true (which it will always
be if `item` is null or undefined) and `properties` are specified
(which will always be the case or else this `else` block is skipped.)
Here are the current lines 484 through 497:
const primitive = item === null ||
(typeof item !== 'function' && typeof item !== 'object');
if (properties === undefined && primitive) {
hasPrimitives = true;
valuesKeyArray[i] = _inspect(item);
} else {
const keys = properties || ObjectKeys(item);
for (const key of keys) {
if (map[key] === undefined)
map[key] = [];
if ((primitive && properties) || !hasOwnProperty(item, key))
map[key][i] = '';
else
map[key][i] = item == null ? item : _inspect(item[key]);
This change removes the unnecessary ternary in that final line,
simplifying it to:
map[key][i] = _inspect(item[key]);
PR-URL: #26906
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
PR-URL: #26815 Reviewed-By: Refael Ackermann <refack@gmail.com>
PR-URL: #26815 Reviewed-By: Refael Ackermann <refack@gmail.com>
PR-URL: #26815 Reviewed-By: Refael Ackermann <refack@gmail.com>
PR-URL: #26815 Reviewed-By: Refael Ackermann <refack@gmail.com>
PR-URL: #26815 Reviewed-By: Refael Ackermann <refack@gmail.com>
PR-URL: #26815 Reviewed-By: Refael Ackermann <refack@gmail.com>
Use destructuring and arrow functions and make one test stricter. Also inline the error object as there's only a sinlge error that can currently be thrown in the path module. PR-URL: #26912 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Michaël Zasso <targos@protonmail.com>
PR-URL: #26591 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Signed-off-by: Beth Griggs <Bethany.Griggs@uk.ibm.com>
When console.log is called for the first time it initializes TTYWrap object. However, if there is not enough space on the V8 stack, creating function template fails and triggers empty maybe local exception. PR-URL: #26832 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Signed-off-by: Beth Griggs <Bethany.Griggs@uk.ibm.com>
PR-URL: #27041 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Signed-off-by: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Cleanup some code and make the emit hooks very slightly faster. PR-URL: #27034 Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com> Signed-off-by: Beth Griggs <Bethany.Griggs@uk.ibm.com>
It was reported that parallel builds on Windows sometimes error because of missing intermediate files. On closer inspection I noticed that some files are copied from src/ to the intermediate build directory in a way where they don't participate in dependency resolution. Put another way, the build system doesn't know to wait for the copy to complete because we don't tell it to. Fix that by not copying around files but instead making the script that processes them a little smarter about where to find them and where to store the results. PR-URL: #27026 Fixes: #27025 Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Signed-off-by: Beth Griggs <Bethany.Griggs@uk.ibm.com>
PR-URL: #27041 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Signed-off-by: Beth Griggs <Bethany.Griggs@uk.ibm.com>
BethGriggs added a commit that referenced this pull request
Apr 10, 2019Notable changes: - child_process: doc deprecate ChildProcess.\_channel (cjihrig) [#26982](#26982) - deps: update nghttp2 to 1.37.0 (gengjiawen) [#26990](#26990) - dns: - make dns.promises enumerable (cjihrig) [#26592](#26592) - remove dns.promises experimental warning (cjihrig) [#26592](#26592) - stream: make Symbol.asyncIterator support stable (Matteo Collina) [#26989](#26989) - worker: use copy of process.env (Anna Henningsen) [#26544](#26544) PR-URL: #27163
Notable changes: - child_process: doc deprecate ChildProcess.\_channel (cjihrig) [#26982](#26982) - deps: update nghttp2 to 1.37.0 (gengjiawen) [#26990](#26990) - dns: - make dns.promises enumerable (cjihrig) [#26592](#26592) - remove dns.promises experimental warning (cjihrig) [#26592](#26592) - fs: remove experimental warning for fs.promises (Anna Henningsen) [#26581] (#26581) - stream: make Symbol.asyncIterator support stable (Matteo Collina) [#26989](#26989) - worker: use copy of process.env (Anna Henningsen) [#26544](#26544) PR-URL: #27163
BethGriggs added a commit that referenced this pull request
Apr 11, 2019Notable changes: - child_process: doc deprecate ChildProcess.\_channel (cjihrig) [#26982](#26982) - deps: update nghttp2 to 1.37.0 (gengjiawen) [#26990](#26990) - dns: - make dns.promises enumerable (cjihrig) [#26592](#26592) - remove dns.promises experimental warning (cjihrig) [#26592](#26592) - fs: remove experimental warning for fs.promises (Anna Henningsen) [#26581] (#26581) - stream: make Symbol.asyncIterator support stable (Matteo Collina) [#26989](#26989) - worker: use copy of process.env (Anna Henningsen) [#26544](#26544) PR-URL: #27163
targos
deleted the
v11.14.0-proposal
branch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters