- Jan 30, 2018
-
-
Anatoli Papirovski authored
Currently, both process.binding and internalBinding have to call into C++ regardless of whether the module has been cached or not. This creates significant overhead to all binding calls and unfortunately the rest of the codebase doesn't really optimize the amount of times that bindings are required (as an example: 12 files require the async_wrap binding). Changing all the usage of this function throughout the codebase would introduce a lot of churn (and is kind of a hassle) so instead this PR introduces a JS fast path for both functions for cases where the binding has already been cached. While micro benchmarks are not super meaningful here (it's not like we call binding that often...), this does speed up the cached call by 400%. In addition, move moduleLoadList creation and management entirely into JS-land as it requires less code and is more efficient. PR-URL: https://github.com/nodejs/node/pull/18365 Reviewed-By:
Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Jeremiah Senkpiel <fishrock123@rocketmail.com>
-
Anatoli Papirovski authored
Move the majority of C++ domain-related code into JS land by introducing a top level domain callback which handles entering & exiting the domain. Move the rest of the domain necessities into their own file that creates an internal binding, to avoid exposing domain-related code on the process object. Modify an existing test slightly to better test domain-related code. PR-URL: https://github.com/nodejs/node/pull/18291 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Anatoli Papirovski authored
PR-URL: https://github.com/nodejs/node/pull/18291 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Anatoli Papirovski authored
PR-URL: https://github.com/nodejs/node/pull/18291 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Anatoli Papirovski authored
PR-URL: https://github.com/nodejs/node/pull/18291 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Tobias Nießen authored
The (h|readableH|writableH)ighWaterMark options should only permit positive numbers and zero. PR-URL: https://github.com/nodejs/node/pull/18098 Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- Jan 29, 2018
-
-
cjihrig authored
This commit allows cluster workers to be created with configurable working directories. Fixes: https://github.com/nodejs/node/issues/16388 PR-URL: https://github.com/nodejs/node/pull/18399 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com>
-
Mathias Buus authored
Fixes a regression introduced by the once-per-microtick 'readable' event emission. See: https://github.com/nodejs/node/pull/17979 PR-URL: https://github.com/nodejs/node/pull/18372 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Ben Noordhuis authored
Removes a few lines of C++ code while making `isIPv4()` about 3x faster. `isIPv6()` and `isIP()` for the IPv6 case stay about the same. I removed the homegrown `isIPv4()` in lib/dns.js that utilized a lookup table. It is in fact a little faster than the new `isIPv4()` function but: 1. The difference is only measurable at around 10M iterations, and 2. The function is a "probably IPv4" heuristic, not a proper validator. PR-URL: https://github.com/nodejs/node/pull/18398 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Jan Krems <jan.krems@gmail.com> Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com>
-
Ben Noordhuis authored
PR-URL: https://github.com/nodejs/node/pull/18398 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Jan Krems <jan.krems@gmail.com> Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com>
-
Joyee Cheung authored
PR-URL: https://github.com/nodejs/node/pull/18380 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Joyee Cheung authored
PR-URL: https://github.com/nodejs/node/pull/18359 Fixes: https://github.com/nodejs/node/issues/18352 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Joyee Cheung authored
PR-URL: https://github.com/nodejs/node/pull/18359 Fixes: https://github.com/nodejs/node/issues/18352 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Joyee Cheung authored
PR-URL: https://github.com/nodejs/node/pull/18359 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Joyee Cheung authored
PR-URL: https://github.com/nodejs/node/pull/18359 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Joyee Cheung authored
- Allow user to customize why the argument is invalid - Display the argument with util.inspect so null bytes can be displayed properly. PR-URL: https://github.com/nodejs/node/pull/18358 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Jon Moss <me@jonathanmoss.me>
-
Andreas Madsen authored
PR-URL: https://github.com/nodejs/node/pull/18373 Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de>
-
Joyee Cheung authored
PR-URL: https://github.com/nodejs/node/pull/18374 Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Matteo Collina authored
Make the listOnTimeout function inline by attaching it to the TimeWrap prototype. It improves insertion and cancellation time of unpooled timers by 18% and 28% respectively. PR-URL: https://github.com/nodejs/node/pull/18388 Reviewed-By:
Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By:
Anatoli Papirovski <apapirovski@mac.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jon Moss <me@jonathanmoss.me> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Weijia Wang <starkwang@126.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Jeremiah Senkpiel <fishrock123@rocketmail.com>
-
- Jan 28, 2018
-
-
Vse Mozhet Byt authored
PR-URL: https://github.com/nodejs/node/pull/18407 Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com> Reviewed-By:
Jon Moss <me@jonathanmoss.me> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
cjihrig authored
PR-URL: https://github.com/nodejs/node/pull/18385 Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Jon Moss <me@jonathanmoss.me> Reviewed-By:
Daniel Bevenius <daniel.bevenius@gmail.com>
-
- Jan 27, 2018
-
-
Fedor Indutny authored
Do not check/use unexistent property, use `OutgoingMessage` instead. PR-URL: https://github.com/nodejs/node/pull/18325 Reviewed-By:
Mithun Sasidharan <mithunsasidharan89@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Adam Engebretson authored
PR-URL: https://github.com/nodejs/node/pull/18404 Reviewed-By:
Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By:
Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Jeremiah Senkpiel authored
Hidden via a symbol because I'm unsure exactly what the API should look like in the end. Removes the need to use _unrefActive for efficiently refreshing timeouts. It still uses it under the hood but that could be replaced with insert() directly if it were in the same file. PR-URL: https://github.com/nodejs/node/pull/18065 Reviewed-By:
Anatoli Papirovski <apapirovski@mac.com>
-
Jeremiah Senkpiel authored
Just cleanup so the file makes more future sense. PR-URL: https://github.com/nodejs/node/pull/18065 Reviewed-By:
Anatoli Papirovski <apapirovski@mac.com>
-
Anatoli Papirovski authored
PR-URL: https://github.com/nodejs/node/pull/18330 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By:
Jon Moss <me@jonathanmoss.me>
-
Anatoli Papirovski authored
PR-URL: https://github.com/nodejs/node/pull/18330 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By:
Jon Moss <me@jonathanmoss.me>
-
Ben Noordhuis authored
The `$(RM) {foo,bar,baz}` rules don't seem to work with GNU make 4.1. Write them out in full and get rid of a few overlong lines in the process. PR-URL: https://github.com/nodejs/node/pull/18332 Reviewed-By:James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
Jon Moss <me@jonathanmoss.me>
-
Seth Brenith authored
Long ago, V8 was much faster switching on string lengths than values. That is no longer the case, so we can simplify a couple of methods. PR-URL: https://github.com/nodejs/node/pull/18351 Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Kyle Farnung <kfarnung@microsoft.com> Reviewed-By:
Anatoli Papirovski <apapirovski@mac.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jon Moss <me@jonathanmoss.me>
-
Rich Trott authored
* provide block scoping to prevent unintended side effects * remove confusing and unnecessary assertion message * use consisitent `actual, expected` argument order for assertions PR-URL: https://github.com/nodejs/node/pull/18340 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jon Moss <me@jonathanmoss.me> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Rich Trott authored
The test runs two test cases at a time. This is not relevant to what the test is actually testing. Not sure why doing it that way causes a deadlock on some Windows servers, but running one at a time fixes it. Fixes: https://github.com/nodejs/node/issues/18269 PR-URL: https://github.com/nodejs/node/pull/18382 Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
James M Snell authored
lchown and lchownSync were opening file descriptors without closing them. Looks like it has been that way for 7 years. Does anyone actually use these functions? PR-URL: https://github.com/nodejs/node/pull/18329 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By:
Evan Lucas <evanlucas@me.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- Jan 26, 2018
-
-
Yang Guo authored
V8's behavior changed in c3bd741efd. Top-level variables in a module are no longer context-allocated by default. PR-URL: https://github.com/nodejs/node/pull/18312 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Matheus Marchini authored
Before these changes, only V8 added postmortem metadata to Node's binary, limiting the possibilities for debugger's developers to add some features that rely on investigating Node's internal structures. These changes are first steps towards empowering debug tools to navigate Node's internal structures. One example of what can be achieved with this is shown at nodejs/llnode#122 (a command which prints information about handles and requests on the queue for a core dump file). Node postmortem metadata are prefixed with nodedbg_. This also adds tests to validate if all postmortem metadata are calculated correctly, plus some documentation on what is postmortem metadata and a few care to be taken to avoid breaking it. Ref: https://github.com/nodejs/llnode/pull/122 Ref: https://github.com/nodejs/post-mortem/issues/46 PR-URL: https://github.com/nodejs/node/pull/14901 Refs: https://github.com/nodejs/post-mortem/issues/46 Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com>
-
Joyee Cheung authored
PR-URL: https://github.com/nodejs/node/pull/18378 Fixes: https://github.com/nodejs/node/issues/18377 Reviewed-By:
Anatoli Papirovski <apapirovski@mac.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de>
-
- Jan 25, 2018
-
-
sreepurnajasti authored
PR-URL: https://github.com/nodejs/node/pull/18369 Fixes: https://github.com/nodejs/code-and-learn/issues/58 Reviewed-By:
Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Tobias Nießen <tniessen@tnie.de>
-
Kyle Farnung authored
Update performance_state to use AliasedBuffer and update usage sites. PR-URL: https://github.com/nodejs/node/pull/18300 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
James M Snell <jasnell@gmail.com>
-
Ali Ijaz Sheikh authored
4c4af643 accidentally dropped the significant whitespace from this test when it was landed. Add the whitespace back. Refs: https://github.com/nodejs/node/pull/17489 PR-URL: https://github.com/nodejs/node/pull/18360 Reviewed-By:
Kyle Farnung <kfarnung@microsoft.com>
-
Ali Ijaz Sheikh authored
Original commit message: [tracing] implement TRACE_EVENT_ADD_WITH_TIMESTAMP Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Icb3cf7b7f96704e1eaa4c5fbf773b94b70cddc85 Reviewed-on: https://chromium-review.googlesource.com/861302 Reviewed-by:Fadi Meawad <fmeawad@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#50549} Refs: https://github.com/v8/v8/commit/c3bb73f6b95c280cee3a4d6b03c87fce93d617c7 Refs: https://github.com/nodejs/node/issues/17349 PR-URL: https://github.com/nodejs/node/pull/18196 Refs: https://github.com/nodejs/node/pull/18360 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Andreas Madsen <amwebdk@gmail.com>
-
Ali Ijaz Sheikh authored
Original commit message: [tracing] allow embedders to provide own tracing timestamps Make it possible for embedders to provide their own tracing timetamps by providing an overridable virtual function on V8's tracing controller. Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I727e633cb7f63d4b41c2e427ecca3c9174c90bfe Reviewed-on: https://chromium-review.googlesource.com/847690 Reviewed-by:Yang Guo <yangguo@chromium.org> Reviewed-by:
Fadi Meawad <fmeawad@chromium.org> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#50489} Refs: https://github.com/v8/v8/commit/814577e3fd097ef772fd6d92a1ad3abd934506e6 Refs: https://github.com/nodejs/node/issues/17349 PR-URL: https://github.com/nodejs/node/pull/18196 Refs: https://github.com/nodejs/node/pull/18360 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Andreas Madsen <amwebdk@gmail.com>
-