New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v8.3.0 proposal #14452

Closed
wants to merge 64 commits into
base: v8.x
from

Conversation

Projects
None yet
@addaleax
Member

addaleax commented Jul 24, 2017

2017-07-??, Version 8.3.0 (Current), @addaleax

Notable changes

  • V8
    • The V8 engine has been upgraded to version 5.9, which has a significantly
      changed performance profile.
      #13515

Commits

  • [9b104b4ea8] - benchmark: add assert map and set benchmarks (Ruben Bridgewater) #14258
  • [0ebb4dff17] - build: codesign tarball binary on macOS (Evan Lucas) #14179
  • [5ab4471d72] - build,tools: do not force codesign prefix (Evan Lucas) #14179
  • [da1913c5e7] - deps: cherry-pick 3f4536894ac from V8 upstream (ochang) #13985
  • [da9304607c] - deps: update V8 to 5.9.211.37 (Michaël Zasso) #13790
  • [06d419f8a4] - (SEMVER-MINOR) deps: cherry-pick 866ee63 from upstream V8 (Michaël Zasso) #13515
  • [8e967299e7] - (SEMVER-MINOR) deps: cherry-pick a16c3c9 from upstream V8 (jbroman) #13515
  • [83636a4cbe] - deps: backport 4fdf9fd4813 from upstream v8 (Jochen Eisinger) #12875
  • [65956e6e84] - (SEMVER-MINOR) deps: cherry-pick 6d38f89 from upstream V8 (Michaël Zasso) #13263
  • [4c4f647420] - deps: cherry-pick f5fad6d from upstream v8 (daniel.bevenius) #12826
  • [6204fadc19] - deps: cherry-pick bfae9db from upstream v8 (Ben Noordhuis) #12722
  • [5fb7a0bceb] - (SEMVER-MINOR) deps: fix addons compilation with VS2013 (Bartosz Sosnowski) #13263
  • [ad928c070b] - (SEMVER-MINOR) deps: add missing include to V8 i18n.cc (Michaël Zasso) #13263
  • [fae03e6e5b] - (SEMVER-MINOR) deps: run memory hungry V8 test in exclusive mode (Michaël Zasso) #13263
  • [613c81e408] - deps: limit regress/regress-crbug-514081 v8 test (Michael Dawson) #6678
  • [272f4945cc] - (SEMVER-MINOR) deps: update V8 to 5.9.211.35 (Michaël Zasso) #13515
  • [d9273ed5ed] - deps: cherry-pick 18ea996 from c-ares upstream (Anna Henningsen) #13883
  • [6c6da38518] - doc: fix some links (Vse Mozhet Byt) #14400
  • [83c8e5c517] - doc: describe labelling process for backports (Anna Henningsen) #12431
  • [592787ef4d] - doc: error message are still major (Refael Ackermann) #14375
  • [f1b09c0a44] - doc: fix typo in stream.md (Marc Hernández Cabot) #14364
  • [4be373bc4b] - doc: fixes default shell in child_process.md (Henry) #14203
  • [b12924d894] - doc: add XadillaX to collaborators (XadillaX) #14388
  • [dc0a26f254] - doc: replace dead link in v8 module (Devin Boyer) #14372
  • [d2121ab768] - doc: fix minor typo in cluster.md (Lance Ball) #14353
  • [53ad91c3b1] - doc,stream: _transform happens one at a time (Matteo Collina) #14321
  • [f6a03439d8] - docs: add note about fs.rmdir() (Oleksandr Kushchak) #14323
  • [28f0693796] - lib: include cached modules in module.children (Ben Noordhuis) #14132
  • [fa134dd60c] - n-api: add fast paths for integer getters (Anna Henningsen) #14393
  • [e54f75b831] - readline: remove the caching variable (Lyall Sun) #14275
  • [34821f6400] - repl: don't terminate on null thrown (Benjamin Gruenbaum) #14306
  • [32ba8aea0b] - repl: fix old history error handling (Ruben Bridgewater) #13733
  • [89961baf70] - src: fix process.abort() interaction with V8 (Anna Henningsen) #13985
  • [552d2be625] - test: improve test-util-inspect (Peter Marshall) #14003
  • [0418a70d7c] - test: add non-internet resolveAny tests (Anna Henningsen) #13883
  • [265f159881] - test: replace concatenation with template literals (Song, Bintao Garfield) #14295
  • [3414e42127] - test: replace concatenation with template literals (Zongmin Lei) #14298
  • [953736cdde] - test: move timing-dependent tests to sequential (Alexey Orlenko) #14377
  • [9b22acc29e] - test: fix flaky test-net-write-after-close (Rich Trott) #14361
  • [11ae8c33bd] - test: delete obsolete test-sendfd.js (decareano) #14334
  • [99104e1b58] - test: improve fs.exists coverage (jkzing) #14301
  • [e237720537] - test: replace string concatenation with template (ziyun) #14286
  • [3c92b787d7] - test: use path.join in async-hooks/test-tlswrap.js (Vincent Xue) #14319
  • [0197ba00a5] - test: add comments for whatwg-url tests (Gautam Arora) #14355
  • [956a473107] - test: move test-fs-largefile to pummel (Rich Trott) #14338
  • [c866c9078b] - test: use path.join for long path concatenation (zzz) #14280
  • [94c7331277] - test: replace string concatenation with path.join (jkzing) #14272
  • [def98c6959] - test: replace string concatenation with template (Nathan Jiang) #14342
  • [3bc7d2a5ea] - test: replace string concat in test-fs-watchfile.js (Helianthus21) #14287
  • [72febfd3b6] - test: replace concatenation with template literals (SkyAo) #14296
  • [b5d0a03a9e] - test: fix error handling test-http-full-response (Rich Trott) #14252
  • [ebb90900af] - tools: skip workaround for newer llvm (nanaya) #14077
  • [c0ea5d8ce5] - tools: always include llvm_version in config (nanaya) #14077
  • [55a1231d81] - v8: fix debug builds on Windows (Bartosz Sosnowski) #13634
  • [e3fcdeffcb] - v8: backport pieces from 18a26cfe174 from upstream v8 (Peter Marshall) #13217
  • [9c7af15a8c] - v8: backport 4f82f1d948c from upstream v8 (hpayer) #13217
  • [61a1f9cfe2] - v8: backport 4f82f1d948c from upstream v8 (hpayer) #13217
  • [e3c1119174] - v8: backport a9e56f4f36d from upstream v8 (Peter Marshall) #13217
  • [da35ac3bb9] - v8: backport bd59e7452be from upstream v8 (Michael Achenbach) #13217
  • [1e93589e8c] - v8: do not test v8 with -Werror (Anna Henningsen) #12875
  • [0be4d17cd4] - (SEMVER-MINOR) v8: fix gcc 7 build errors (Michaël Zasso) #13515
  • [1906077ee8] - v8: fix stack overflow in recursive method (Ben Noordhuis) #12460

This does include V8 5.9 again.

/cc @evanlucas @MylesBorins @nodejs/ctc

BridgeAR and others added some commits Jun 17, 2017

repl: fix old history error handling
Backport-PR-URL: #14392
Backport-Reviewed-By: James M Snell <jasnell@gmail.com>

PR-URL: #13733
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
test: fix error handling test-http-full-response
The way it is currently written, test-http-full-response will fail if
there is a problem with spawning that doesn't include `ab` or `api` in
`stderr`, but it will fail with a misleading mismatched-calls
`common.mustCall()` error.

Alter the error handling so that it rethrows the actual error, providing
better information.

PR-URL: #14252
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
build,tools: do not force codesign prefix
Allow passing the prefix in via the PKGDIR env var. This will allow us
to use this same script to codesign the binary tarball.

PR-URL: #14179
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
build: codesign tarball binary on macOS
Previously, we were signing the binary that was released in the .pkg,
but not the binary released in the tarball.

PR-URL: #14179
Fixes: #11936
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
test: use path.join for long path concatenation
PR-URL: #14280
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
test: replace string concatenation with path.join
PR-URL: #14272
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
test: replace string concat in test-fs-watchfile.js
PR-URL: #14287
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
test: replace concatenation with template literals
Use template literals instead of string concatenation in
test/parallel/test-http-extra-response.js

PR-URL: #14296
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: David Cai <davidcai1993@yahoo.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
repl: don't terminate on null thrown
Previous behavior was to assume an error is a proper error in the
repl module. A check was added to not terminate the process on thrown
repl errors that are `null` or `undefined`.

PR-URL: #14306
Fixes: #12373
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com
doc,stream: _transform happens one at a time
Add a note to the stream docs specifying that at most a single
call to _transform can happen, and the provided callback()
should be used to process another chunk.

Fixes: #3208
PR-URL: #14321
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
docs: add note about fs.rmdir()
fs.rmdir() on the file (not directory) results in different errors on
Windows to everything else

Fixes: #8797
PR-URL: #14323
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
test: replace string concatenation with template
PR-URL: #14342
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
doc: fix minor typo in cluster.md
Adds a missing `'` in code example.

PR-URL: #14353
Fixes: #14352
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
doc: replace dead link in v8 module
PR-URL: #14372
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
doc: fixes default shell in child_process.md
Clarifies the default shell in Windows is process.env.ComSpec
and that cmd.exe is only used as a fallback. Functions whose
descriptions are affected include:
child_process.spawn, child_process.exec,
child_process.spawnsSync, and child_process.execSync.

PR-URL: #14203
Fixes: #14156
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
readline: remove the caching variable
Line 486 and 525 contain for loops where a length property is cached in
a variable (for example, itemLen). This used to be a performance
optimization, but current V8 handles the optimization internally.

These caching variables are removed, and the length property is used
directly instead.

PR-URL: #14275
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
test: replace string concatenation with template
PR-URL: #14286
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
test: improve fs.exists coverage
By adding a test case using a path with illegal protocol

PR-URL: #14301
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
test: use path.join in async-hooks/test-tlswrap.js
PR-URL: #14319
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
test: delete obsolete test-sendfd.js
This test was disabled in 2011 and is no longer useful without
modifications.

PR-URL: #14334
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
test: move test-fs-largefile to pummel
test-fs-largefile was disabled. It was fixed in bbf74fb but left in
disabled because it generates a 5Gb file. However, gibfahn had the
sensible suggestion of moving it to the pummel directory. Which is what
this change does.

In pummel, lint rules are applied, so this does necessitate changing a
pair of `var` declarations to `const`.

PR-URL: #14338
Refs: bbf74fb
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
benchmark: add assert map and set benchmarks
PR-URL: #14258
Reviewed-By: Refael Ackermann <refack@gmail.com>
test: add comments for whatwg-url tests
Added comments to whatwg-url tests that they should not be changed until
modifications are merged upstream as per "Web Platform Tests" guidelines

PR-URL: #14355
Fixes: #12793
Refs: https://github.com/nodejs/node/blob/master/doc/guides/writing-tests.md
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
test: fix flaky test-net-write-after-close
Replace 250ms timer with event-based logic to make test robust.

PR-URL: #14361
Fixes: #13597
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
doc: fix typo in stream.md
PR-URL: #14364
Fixes: #14362
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
doc: error message are still major
PR-URL: #14375
Refs: #13937
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
doc: add XadillaX to collaborators
PR-URL: #14388
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
tools: skip workaround for newer llvm
PR-URL: #14077
Fixes: #14076
Refs: https://svnweb.freebsd.org/ports/head/www/node/Makefile?revision=444555&view=markup
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>
tools: always include llvm_version in config
Also used in common.gypi to check whether a flag is needed or not
based on llvm version.

PR-URL: #14077
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>
test: move timing-dependent tests to sequential
Move test-http-server-keep-alive-timeout-slow-server and
test-http-server-keep-alive-timeout-slow-client-headers from parallel to
sequential to resolve test flakiness on freebsd10-64.

Fixes: #14033
Refs: #9317
PR-URL: #14377
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
test: replace concatenation with template literals
* test/parallel/test-stdout-close-catch.js

PR-URL: #14298
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
doc: describe labelling process for backports
Based on discussion from the first backporting team meeting.

PR-URL: #12431
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
test: replace concatenation with template literals
Replace string concatenation in test/async-hooks/test-signalwrap.js
with template literals.

PR-URL: #14295
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
deps: cherry-pick 18ea996 from c-ares upstream
Original commit message:

    ares_parse_naptr_reply: make buffer length check more accurate

    9478908a490a6bf009ba58d81de8c1d06d50a117 introduced a length check
    for records parsed by `ares_parse_naptr_reply()`. However, that
    function is designed to parse replies which also contain non-NAPTR
    records; for A records, the `rr_len > 7` check will fail as there
    are only 4 bytes of payload.
    In particular, parsing ANY replies for NAPTR records was broken
    by that patch.

    Fix that by moving the check into the case in which it is already
    known that the record is a NAPTR record.

Ref: c-ares/c-ares@18ea996
PR-URL: #13883
Reviewed-By: James M Snell <jasnell@gmail.com>
test: add non-internet resolveAny tests
This is a bit of a check to see how people feel about having this kind
of test.

Ref: #13137
PR-URL: #13883
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
doc: fix some links
PR-URL: #14400
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Khaidi Chu <i@2333.moe>
Reviewed-By: James M Snell <jasnell@gmail.com>
test: improve test-util-inspect
PR-URL: #14003
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
lib: include cached modules in module.children
`module.children` is supposed to be the list of modules included by this
module but lib/module.js failed to update the list when the included
module was retrieved from `Module._cache`.

Fixes: #7131
PR-URL: #14132
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
n-api: add fast paths for integer getters
Ref: #14379
PR-URL: #14393
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jason Ginchereau <jasongin@microsoft.com>
deps: update V8 to 5.9.211.35
PR-URL: #13515
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>

psmarshall and others added some commits May 26, 2017

v8: backport pieces from 18a26cfe174 from upstream v8
Backport new virtual methods from 18a26cfe174
("Add memory protection API to ArrayBuffer::Allocator")

PR-URL: #13217
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
deps: cherry-pick a16c3c9 from upstream V8
Original commit message:

    Expose the ValueSerializer data format version as a compile-time constant.

    BUG=chromium:704293

    Review-Url: https://codereview.chromium.org/2804643006
    Cr-Commit-Position: refs/heads/master@{#44945}

PR-URL: #13515
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
deps: cherry-pick 866ee63 from upstream V8
Original commit message:

    [string] Re-enable result caching for String.p.split

    Runtime::kStringSplit's result caching is only enabled when limit equals
    kMaxUInt32.

    BUG=v8:6463

    Review-Url: https://codereview.chromium.org/2923183002
    Cr-Commit-Position: refs/heads/master@{#45724}

Fixes: #13445
PR-URL: #13515
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
v8: fix debug builds on Windows
Adds missing return which fixes debug builds on Windows

Fixes: #13392
Ref: https://codereview.chromium.org/2929993003/
PR-URL: #13634
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
deps: cherry-pick 3f4536894ac from V8 upstream
Original commit message:

    d8: Make in process stack dumping optional

    Adds a flag (--disable-in-process-stack-traces) to not install
    signal handlers so that e.g. ASan signal handlers will work.

    This flag mirrors chromium's one.

    R=jochen@chromium.org
    BUG=chromium:716235

    Review-Url: https://codereview.chromium.org/2854173002
    Cr-Commit-Position: refs/heads/master@{#45142}

PR-URL: #13985
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
deps: update V8 to 5.9.211.37
PR-URL: #13790
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
src: fix process.abort() interaction with V8
Since V8 5.9 V8 installs a default signal handler for some signals
when creating a default platform instance that prints a stack trace.

However, Node already does the same thing, so it would seem like the
two different stack traces would be printed; also, the V8 handler
would lead to a `SIGSEGV` under some circumstances, rather than
letting the abort continue normally.

Resolve this by disabling V8’s signal handler by default.

PR-URL: #13985
Fixes: #13865
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>

isheludko and others added some commits Jul 5, 2017

deps: cherry-pick 6cb999b97b from V8 upstream
Original commit message:

    Properly handle loads from global interceptor via prototype chain.

    ... when receiver is in dictionary mode.

    Bug: v8:6490
    Change-Id: Ic5a8d214adcc4efd4cb163cbc6b351c4e6b596af
    Reviewed-on: https://chromium-review.googlesource.com/559548
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Commit-Queue: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46428}

Ref: https://chromium.googlesource.com/v8/v8.git/+/6cb999b97b7953ebfd4aabf2e1f62bf405f21c69
Fixes: #13804
PR-URL: #14188
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-07-??, Version 8.3.0 (Current)
Notable changes

* **V8**
    * The V8 engine has been upgraded to version 5.9, which has a significantly
    changed performance profile.
    [#13515](#13515)
@evanlucas

This comment has been minimized.

Show comment
Hide comment
@evanlucas

evanlucas Jul 24, 2017

Member

I'm +1 on including V8 5.9 in this release. I think we should get TF+I into users hands sooner rather than later.

Member

evanlucas commented Jul 24, 2017

I'm +1 on including V8 5.9 in this release. I think we should get TF+I into users hands sooner rather than later.

@evanlucas

This comment has been minimized.

Show comment
Hide comment
@evanlucas

evanlucas Jul 24, 2017

Member

@nodejs/release @nodejs/ctc anyone opposed to me cutting a RC for this one?

Member

evanlucas commented Jul 24, 2017

@nodejs/release @nodejs/ctc anyone opposed to me cutting a RC for this one?

@mscdex

This comment has been minimized.

Show comment
Hide comment
@mscdex

mscdex Jul 24, 2017

Contributor

V8 6.0 goes stable for desktop in 2 days according to the Chromium calendar. For non-desktop(?) it goes stable in about a week. According to @bmeurer, 6.0 fixes a number of TurboFan-related performance issues. It might be better to just wait a bit longer (or maybe we can just ship 6.0 sooner if nothing is expected to change in 6.0 in a week) because of that, otherwise we could have more issues being submitted about performance degradation that are fixed in 6.0.

Contributor

mscdex commented Jul 24, 2017

V8 6.0 goes stable for desktop in 2 days according to the Chromium calendar. For non-desktop(?) it goes stable in about a week. According to @bmeurer, 6.0 fixes a number of TurboFan-related performance issues. It might be better to just wait a bit longer (or maybe we can just ship 6.0 sooner if nothing is expected to change in 6.0 in a week) because of that, otherwise we could have more issues being submitted about performance degradation that are fixed in 6.0.

@bricss

This comment has been minimized.

Show comment
Hide comment
@bricss

bricss Jul 24, 2017

@mscdex if you will take a look at here, you wouldn't see any kind of degradation. V8 6.0 will land in master very soon and it's better to make progressive releases before that moment.

bricss commented Jul 24, 2017

@mscdex if you will take a look at here, you wouldn't see any kind of degradation. V8 6.0 will land in master very soon and it's better to make progressive releases before that moment.

@mscdex

This comment has been minimized.

Show comment
Hide comment
@mscdex

mscdex Jul 24, 2017

Contributor

@bricss I don't know what you're referring to in that thread, but @winksaville demonstrated a measurable difference between 5.9 and 6.1. I would bet at least some of that is due to the fixes made in 6.0.

As I said, waiting at most a week to ensure fixes the V8 team have landed in 6.0 is worth it. That's also the opinion of some of those on the V8 team.

Contributor

mscdex commented Jul 24, 2017

@bricss I don't know what you're referring to in that thread, but @winksaville demonstrated a measurable difference between 5.9 and 6.1. I would bet at least some of that is due to the fixes made in 6.0.

As I said, waiting at most a week to ensure fixes the V8 team have landed in 6.0 is worth it. That's also the opinion of some of those on the V8 team.

@bricss

This comment has been minimized.

Show comment
Hide comment
@bricss

bricss Jul 24, 2017

The takeaway is V8 6.1 is fastest followed by V8 5.9 and V8 5.8 is slowest:

**** Summary ES5 code:
nodev8-V8-5.8 20.07s
nodev9-V8-5.9 12.30s
nodev9-V8-6.1 12.13s

**** Summary ES6 code:
nodev8-V8-5.8 131.06s
nodev9-V8-5.9 19.36s
nodev9-V8-6.1 12.30s

Less is better? It seems that V8 5.9 is much faster than V8 5.8.

bricss commented Jul 24, 2017

The takeaway is V8 6.1 is fastest followed by V8 5.9 and V8 5.8 is slowest:

**** Summary ES5 code:
nodev8-V8-5.8 20.07s
nodev9-V8-5.9 12.30s
nodev9-V8-6.1 12.13s

**** Summary ES6 code:
nodev8-V8-5.8 131.06s
nodev9-V8-5.9 19.36s
nodev9-V8-6.1 12.30s

Less is better? It seems that V8 5.9 is much faster than V8 5.8.

@mscdex

This comment has been minimized.

Show comment
Hide comment
@mscdex

mscdex Jul 24, 2017

Contributor

@bricss Right, and 6.1 is even faster. Besides, this is only one particular data point. There are threads elsewhere that show degradations in our own benchmarks with 5.9. Just recently even I found some performance issues in V8 5.9 that were solved in 6.x. So I still say we should skip 5.9 and go straight to 6.0 for the next update after 5.8.

Contributor

mscdex commented Jul 24, 2017

@bricss Right, and 6.1 is even faster. Besides, this is only one particular data point. There are threads elsewhere that show degradations in our own benchmarks with 5.9. Just recently even I found some performance issues in V8 5.9 that were solved in 6.x. So I still say we should skip 5.9 and go straight to 6.0 for the next update after 5.8.

@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack Jul 24, 2017

Member

If this is going to be the next release we need #14419 in (I'll land it as soon as CI finished). Landed.

Member

refack commented Jul 24, 2017

If this is going to be the next release we need #14419 in (I'll land it as soon as CI finished). Landed.

@evanlucas

This comment has been minimized.

Show comment
Hide comment
@evanlucas

evanlucas Jul 25, 2017

Member

If we are only waiting a week, then I'm fine with waiting until 6.0, but I really think we need to get TF+I into our users hands ASAP.

Member

evanlucas commented Jul 25, 2017

If we are only waiting a week, then I'm fine with waiting until 6.0, but I really think we need to get TF+I into our users hands ASAP.

@Fishrock123

This comment has been minimized.

Show comment
Hide comment
@Fishrock123

Fishrock123 Jul 25, 2017

Member

Same tbh

Member

Fishrock123 commented Jul 25, 2017

Same tbh

@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack Jul 25, 2017

Member

AFAICT for node, V8 6.0 is still blocked on two issues, according to #14004
/cc @targos

Member

refack commented Jul 25, 2017

AFAICT for node, V8 6.0 is still blocked on two issues, according to #14004
/cc @targos

@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Jul 25, 2017

Member

Taking into account @mscdex's objections and looking at the emoji-voting in nodejs/CTC#155, it seems like there are currently more CTC members explicitly in favor of waiting for 6.0 than releasing with 5.9.

Of course, it's not a vote (yet, anyway). It's about consensus. And presumably none of the people who want 5.9 this week would be opposed to 6.0 next week. So I think that's where this is headed.

Member

Trott commented Jul 25, 2017

Taking into account @mscdex's objections and looking at the emoji-voting in nodejs/CTC#155, it seems like there are currently more CTC members explicitly in favor of waiting for 6.0 than releasing with 5.9.

Of course, it's not a vote (yet, anyway). It's about consensus. And presumably none of the people who want 5.9 this week would be opposed to 6.0 next week. So I think that's where this is headed.

@winksaville

This comment has been minimized.

Show comment
Hide comment
@winksaville

winksaville Jul 25, 2017

If desired I'd be glad to test V8 6.0 with the same code on the same machine as mentioned above and originally posted here, if you can point me to a Node binary for linux-x64 with V8 6.0.

winksaville commented Jul 25, 2017

If desired I'd be glad to test V8 6.0 with the same code on the same machine as mentioned above and originally posted here, if you can point me to a Node binary for linux-x64 with V8 6.0.

@evanlucas

This comment has been minimized.

Show comment
Hide comment
@evanlucas

evanlucas Jul 26, 2017

Member

Thanks @Trott. I had read through that issue last week and completely forgotten about it.

Member

evanlucas commented Jul 26, 2017

Thanks @Trott. I had read through that issue last week and completely forgotten about it.

@MylesBorins

This comment has been minimized.

Show comment
Hide comment
@MylesBorins

MylesBorins Jul 26, 2017

Member

I'm -1 on including 5.9. We only have one more thing to fix in 6.0 to be able to land it, I'm hopefuly we can get to that today.

Will sign off when 5.9 commits have been dropped

Member

MylesBorins commented Jul 26, 2017

I'm -1 on including 5.9. We only have one more thing to fix in 6.0 to be able to land it, I'm hopefuly we can get to that today.

Will sign off when 5.9 commits have been dropped

@MylesBorins

Should not include 5.9 imho

@mcollina

This comment has been minimized.

Show comment
Hide comment
@mcollina

mcollina Jul 26, 2017

Member

I think we should wait for 6.0 to land, include that, and release 8.3.0 next week. I'm -1 on releasing a minor this week and one the week after.

Member

mcollina commented Jul 26, 2017

I think we should wait for 6.0 to land, include that, and release 8.3.0 next week. I'm -1 on releasing a minor this week and one the week after.

@addaleax addaleax closed this Jul 27, 2017

@addaleax addaleax deleted the v8.3.0-proposal branch Jul 27, 2017

@addaleax addaleax referenced this pull request Aug 15, 2017

Closed

src,async_hooks,n-api: refactor async callback handling #14697

2 of 2 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment