-
Notifications
You must be signed in to change notification settings - Fork 30k
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
v8.3.0 proposal #14452
Conversation
Backport-PR-URL: #14392 Backport-Reviewed-By: James M Snell <[email protected]> PR-URL: #13733 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
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 <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: James M Snell <[email protected]>
Adds a missing `'` in code example. PR-URL: #14353 Fixes: #14352 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Vse Mozhet Byt <[email protected]>
Use template literals instead of string concatenation in test/parallel/test-http-extra-response.js PR-URL: #14296 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: David Cai <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: James M Snell <[email protected]>
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 <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
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 <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Colin Ihrig <[email protected]
PR-URL: #14372 Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #14287 Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: James M Snell <[email protected]>
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 <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]>
PR-URL: #14342 Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
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 <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Myles Borins <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: James M Snell <[email protected]>
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 <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Myles Borins <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #14272 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
PR-URL: #14280 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
PR-URL: #14258 Reviewed-By: Refael Ackermann <[email protected]>
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 <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #14388 Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
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 <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
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 <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Vse Mozhet Byt <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #14364 Fixes: #14362 Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Vse Mozhet Byt <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
PR-URL: #14319 Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Vse Mozhet Byt <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]>
PR-URL: #14286 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
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 <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]>
By adding a test case using a path with illegal protocol PR-URL: #14301 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]>
This test was disabled in 2011 and is no longer useful without modifications. PR-URL: #14334 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]>
Replace 250ms timer with event-based logic to make test robust. PR-URL: #14361 Fixes: #13597 Reviewed-By: Santiago Gimeno <[email protected]> Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #14375 Refs: #13937 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
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 <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]>
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 <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
PR-URL: #14077 Fixes: #14076 Refs: https://svnweb.freebsd.org/ports/head/www/node/Makefile?revision=444555&view=markup Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
43d6517
to
753a4fc
Compare
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 <[email protected]> Commit-Queue: Igor Sheludko <[email protected]> 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 <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: James M Snell <[email protected]>
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. |
753a4fc
to
d4c2406
Compare
@nodejs/release @nodejs/ctc anyone opposed to me cutting a RC for this one? |
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 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. |
**** Summary ES5 code: **** Summary ES6 code: Less is better? It seems that V8 5.9 is much faster than V8 5.8. |
@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. |
If this is going to be the next release we need #14419 in |
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. |
Same tbh |
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. |
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. |
Thanks @Trott. I had read through that issue last week and completely forgotten about it. |
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should not include 5.9 imho
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. |
2017-07-??, Version 8.3.0 (Current), @addaleax
Notable changes
changed performance profile.
#13515
Commits
9b104b4ea8
] - benchmark: add assert map and set benchmarks (Ruben Bridgewater) #142580ebb4dff17
] - build: codesign tarball binary on macOS (Evan Lucas) #141795ab4471d72
] - build,tools: do not force codesign prefix (Evan Lucas) #14179da1913c5e7
] - deps: cherry-pick 3f4536894ac from V8 upstream (ochang) #13985da9304607c
] - deps: update V8 to 5.9.211.37 (Michaël Zasso) #1379006d419f8a4
] - (SEMVER-MINOR) deps: cherry-pick 866ee63 from upstream V8 (Michaël Zasso) #135158e967299e7
] - (SEMVER-MINOR) deps: cherry-pick a16c3c9 from upstream V8 (jbroman) #1351583636a4cbe
] - deps: backport 4fdf9fd4813 from upstream v8 (Jochen Eisinger) #1287565956e6e84
] - (SEMVER-MINOR) deps: cherry-pick 6d38f89 from upstream V8 (Michaël Zasso) #132634c4f647420
] - deps: cherry-pick f5fad6d from upstream v8 (daniel.bevenius) #128266204fadc19
] - deps: cherry-pick bfae9db from upstream v8 (Ben Noordhuis) #127225fb7a0bceb
] - (SEMVER-MINOR) deps: fix addons compilation with VS2013 (Bartosz Sosnowski) #13263ad928c070b
] - (SEMVER-MINOR) deps: add missing include to V8 i18n.cc (Michaël Zasso) #13263fae03e6e5b
] - (SEMVER-MINOR) deps: run memory hungry V8 test in exclusive mode (Michaël Zasso) #13263613c81e408
] - deps: limit regress/regress-crbug-514081 v8 test (Michael Dawson) #6678272f4945cc
] - (SEMVER-MINOR) deps: update V8 to 5.9.211.35 (Michaël Zasso) #13515d9273ed5ed
] - deps: cherry-pick 18ea996 from c-ares upstream (Anna Henningsen) #138836c6da38518
] - doc: fix some links (Vse Mozhet Byt) #1440083c8e5c517
] - doc: describe labelling process for backports (Anna Henningsen) #12431592787ef4d
] - doc: error message are still major (Refael Ackermann) #14375f1b09c0a44
] - doc: fix typo in stream.md (Marc Hernández Cabot) #143644be373bc4b
] - doc: fixes default shell in child_process.md (Henry) #14203b12924d894
] - doc: add XadillaX to collaborators (XadillaX) #14388dc0a26f254
] - doc: replace dead link in v8 module (Devin Boyer) #14372d2121ab768
] - doc: fix minor typo in cluster.md (Lance Ball) #1435353ad91c3b1
] - doc,stream: _transform happens one at a time (Matteo Collina) #14321f6a03439d8
] - docs: add note about fs.rmdir() (Oleksandr Kushchak) #1432328f0693796
] - lib: include cached modules in module.children (Ben Noordhuis) #14132fa134dd60c
] - n-api: add fast paths for integer getters (Anna Henningsen) #14393e54f75b831
] - readline: remove the caching variable (Lyall Sun) #1427534821f6400
] - repl: don't terminate on null thrown (Benjamin Gruenbaum) #1430632ba8aea0b
] - repl: fix old history error handling (Ruben Bridgewater) #1373389961baf70
] - src: fix process.abort() interaction with V8 (Anna Henningsen) #13985552d2be625
] - test: improve test-util-inspect (Peter Marshall) #140030418a70d7c
] - test: add non-internet resolveAny tests (Anna Henningsen) #13883265f159881
] - test: replace concatenation with template literals (Song, Bintao Garfield) #142953414e42127
] - test: replace concatenation with template literals (Zongmin Lei) #14298953736cdde
] - test: move timing-dependent tests to sequential (Alexey Orlenko) #143779b22acc29e
] - test: fix flaky test-net-write-after-close (Rich Trott) #1436111ae8c33bd
] - test: delete obsolete test-sendfd.js (decareano) #1433499104e1b58
] - test: improve fs.exists coverage (jkzing) #14301e237720537
] - test: replace string concatenation with template (ziyun) #142863c92b787d7
] - test: use path.join in async-hooks/test-tlswrap.js (Vincent Xue) #143190197ba00a5
] - test: add comments for whatwg-url tests (Gautam Arora) #14355956a473107
] - test: move test-fs-largefile to pummel (Rich Trott) #14338c866c9078b
] - test: use path.join for long path concatenation (zzz) #1428094c7331277
] - test: replace string concatenation with path.join (jkzing) #14272def98c6959
] - test: replace string concatenation with template (Nathan Jiang) #143423bc7d2a5ea
] - test: replace string concat in test-fs-watchfile.js (Helianthus21) #1428772febfd3b6
] - test: replace concatenation with template literals (SkyAo) #14296b5d0a03a9e
] - test: fix error handling test-http-full-response (Rich Trott) #14252ebb90900af
] - tools: skip workaround for newer llvm (nanaya) #14077c0ea5d8ce5
] - tools: always include llvm_version in config (nanaya) #1407755a1231d81
] - v8: fix debug builds on Windows (Bartosz Sosnowski) #13634e3fcdeffcb
] - v8: backport pieces from 18a26cfe174 from upstream v8 (Peter Marshall) #132179c7af15a8c
] - v8: backport 4f82f1d948c from upstream v8 (hpayer) #1321761a1f9cfe2
] - v8: backport 4f82f1d948c from upstream v8 (hpayer) #13217e3c1119174
] - v8: backport a9e56f4f36d from upstream v8 (Peter Marshall) #13217da35ac3bb9
] - v8: backport bd59e7452be from upstream v8 (Michael Achenbach) #132171e93589e8c
] - v8: do not test v8 with -Werror (Anna Henningsen) #128750be4d17cd4
] - (SEMVER-MINOR) v8: fix gcc 7 build errors (Michaël Zasso) #135151906077ee8
] - v8: fix stack overflow in recursive method (Ben Noordhuis) #12460This does include V8 5.9 again.
/cc @evanlucas @MylesBorins @nodejs/ctc