-
-
Notifications
You must be signed in to change notification settings - Fork 31.5k
deps: update V8 to 8.3 #32831
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
deps: update V8 to 8.3 #32831
Conversation
Not running a V8 CI yet, because the V8 CI is currently broken. |
cc @nodejs/platform-freebsd @nodejs/platform-smartos build is failing on both platforms with similar error: FreeBSD:
SmartOS:
|
Diff in Is there anything breaking the ABI that we want to backport to |
@targos Yeah, there’s a number of ABI-breaking changes… do we ship 14.0.0 with V8 8.2? |
@addaleax no, sorry I meant V8 8.1. The diff I posted is between current master (8.1) and the PR (8.3). |
And my question is: are there ABI-breaking changes that we should rather somehow port to V8 8.1 before v14.0.0 is released because it will be cumbersome to revert them when we want to backport the upgrade to V8 8.3? |
If we get a forward patch for the ABI breaking changes this weekend, will there be enough time for it to make into v14? |
Yes. Of the ABI-breaking changes, you’d want to patch them to be as close to V8 8.3 as possible, with as few exceptions as possible.
I should be able to put something like that together, if that’s desired. I guess whether that leaves enough time depends on what @BethGriggs says? |
I can pull updates into the release up until Monday. I'd assume the update would be semver-major, so it'd also need no objections from TSC to land. I have slight concerns that this patch wouldn't have much time to live on master, but will defer judgement to those more familiar with V8 updates/internals. tldr; I can land the update if it's on master by Monday, assuming no objections from the TSC. |
@BethGriggs That patch wouldn’t go on master, though (at least that’s what we’ve done in the past, I think). It would target v14.x-staging directly, and not be semver-major there, since no previous v14.x release exists. |
@addaleax let me know if there's anything I can help with the patch. |
@mmarchini can you cherry-pick cjihrig@fb9e01d as a proposed fix for SmartOS. I started a CI run with that change, and the SmartOS build compiled and the tests passed. |
@mmarchini V8 8.3 was officially announced today: https://v8.dev/blog/v8-release-83 Will you have time to update this? Otherwise I can try to do it tomorrow |
@targos I'll try to update it today, otherwise feel free to update tomorrow. (I definitely lost track of time and missed the start of May lol) |
@targos I won't have time to do it today. Feel free to do it tomorrow. If you don't have time I think I can get to it by the end of the week. |
Sorry, wrong thread |
/cc @nodejs/platform-freebsd
|
@nodejs/platform-ppc @nodejs/platform-ibmi @nodejs/platform-aix (I don't know which team is relevant to LinuxONE) It looks like |
Ah, I think that's @nodejs/platform-s390, sorry for the ping, other teams. |
The flag is now excluded for ARM and S390X. Should I skip the test if |
@targos yes s390 has the same issue Arm had experienced in which relative offsets in memory cannot exceed 32 bits, there are no instructions for supporting it. |
Original commit message: Fix SmartOS compilation errors This commit resolves compilation errors on SmartOS that were found while upgrading Node.js. See: nodejs#32831 Change-Id: Ia2a2e028ba4f5bfd69c050cab4fb4e13af5eefd9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191054 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67793} Refs: v8/v8@9868b2a
Original commit message: Fix SmartOS compilation errors This commit resolves compilation errors on SmartOS that were found while upgrading Node.js. See: nodejs#32831 Change-Id: Ia2a2e028ba4f5bfd69c050cab4fb4e13af5eefd9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191054 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67793} Refs: v8/v8@9868b2a
Original commit message: Fix SmartOS compilation errors This commit resolves compilation errors on SmartOS that were found while upgrading Node.js. See: #32831 Change-Id: Ia2a2e028ba4f5bfd69c050cab4fb4e13af5eefd9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191054 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67793} Refs: v8/v8@9868b2a PR-URL: #33579 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Shelley Vohr <codebytere@gmail.com>
Original commit message: Fix SmartOS compilation errors This commit resolves compilation errors on SmartOS that were found while upgrading Node.js. See: nodejs#32831 Change-Id: Ia2a2e028ba4f5bfd69c050cab4fb4e13af5eefd9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191054 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67793} Refs: v8/v8@9868b2a PR-URL: nodejs#33579 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Shelley Vohr <codebytere@gmail.com>
Original commit message: Fix SmartOS compilation errors This commit resolves compilation errors on SmartOS that were found while upgrading Node.js. See: #32831 Change-Id: Ia2a2e028ba4f5bfd69c050cab4fb4e13af5eefd9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191054 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67793} Refs: v8/v8@9868b2a Backport-PR-URL: #34356 PR-URL: #33579 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Shelley Vohr <codebytere@gmail.com>
Original commit message: Fix SmartOS compilation errors This commit resolves compilation errors on SmartOS that were found while upgrading Node.js. See: #32831 Change-Id: Ia2a2e028ba4f5bfd69c050cab4fb4e13af5eefd9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191054 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67793} Refs: v8/v8@9868b2a Backport-PR-URL: #34356 PR-URL: #33579 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Shelley Vohr <codebytere@gmail.com>
This commit resolves compilation errors on SmartOS that were found while upgrading Node.js. See: nodejs/node#32831 Change-Id: Ia2a2e028ba4f5bfd69c050cab4fb4e13af5eefd9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2191054 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67793}
Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Original commit message: [testrunner] delete ancient junit compatible format support Testrunner has ancient support for JUnit compatible XML output. This CL removes this old feature. R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org CC=machenbach@chromium.org Bug: v8:8728 Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0 Reviewed-on: https://chromium-review.googlesource.com/c/1430065 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#59045} Refs: v8/v8@bd019bd Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Patch V8 (compiler/js-heap-broker.cc) to remove the use of an optional property, which is a fairly new C++ feature, since that requires a newer XCode version than the minimum requirement in BUILDING.md and thus breaks CI. Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Fixes a compilation issue on some platforms Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This should be semver-patch since actual invocation is version conditional. Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
There is a bug in the most recent version of VS2015 that affects v8.h and therefore prevents compilation of addons. Refs: https://stackoverflow.com/q/38378693 Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Patch V8 (wasm/wasm-module.cc) to remove const qualifier from type passed to template call of `OwnedVector::Of`. Xcode 8 can't convert 'OwnedVector<unsigned char>' to 'OwnedVector<const unsigned char>' when returning from a function (which is likely a bug on Xcode, considering this worked on the prior version of Xcode as well as newer versions). This workaround shouldn't affect the application, since the const qualifier is preserved in the AsmJsOffsetInformation::encoded_offset_. There's also a V8 test passing a const-qualified type to ::Of, but since we don't test V8 on Xcode 8, it should be fine to leave it as is. Signed-off-by: Matheus Marchini <mmarchini@netflix.com> Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Original commit message: Fix compilation error with devtoolset-8 We are compiling V8 using devtoolset-8 and it is generating a new compilation error related to String Truncation: error: ‘char* strncpy(char*, const char*, size_t)’ output truncated copying between 1 and 15 bytes from a string of length 15 [-Werror=stringop-truncation] strncpy(buffer, unicode_utf8, i); Which basically means the null terminating character was not added to the end of the buffer: https://developers.redhat.com/blog/2018/05/24/detecting-string-truncation-with-gcc-8/ This CL will changes 2 uses of "strncpy" to "memcpy" as strings are being copied partially and `\n` being added at a later stage. Change-Id: I3656afb00463d70ddb8700a487a1978b793e1d09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2155038 Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#67277} Refs: v8/v8@e1eac1b Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Original commit message: [intl] Remove soon-to-be removed getAllFieldPositions Needed to land ICU67.1 soon. Bug: v8:10393 Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#67027} Refs: v8/v8@3f8dc4b Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Original commit message: [arraybuffer] Clean up BackingStore even if it pointer to nullptr For a zero-length BackingStore allocation, it is valid for the underlying memory to be a null pointer. However, some cleanup is still necessary, since the BackingStore may hold a reference to the allocator itself, which needs to be released when destroying the `BackingStore` instance. Change-Id: I1f168079d39e4592d2fde31fbe5f705586690e85 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2169646 Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67420} Refs: v8/v8@e29c62b Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Original commit message: FreeBSD: add missing include of pthread_np.h This is necessary for the pthread_attr_get_np function. Change-Id: I01cfe075a7c86909e8cf37eb7f7c5d44fa044975 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2188310 Commit-Queue: Michaël Zasso <mic.besace@gmail.com> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Michaël Zasso <mic.besace@gmail.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67660} Refs: v8/v8@74d50c5 Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Ref: https://chromium-review.googlesource.com/c/v8/v8/+/1997438 Ref: https://chromium-review.googlesource.com/c/v8/v8/+/2010107 Ref: nodejs/node-v8#144 Signed-off-by: Matheus Marchini <mmarchini@netflix.com> Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
V8 does not support the flag on this architecture anymore. Backport-PR-URL: nodejs/node#33376 PR-URL: nodejs/node#32831 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Branch cutoff: April 2 2020
Chrome Beta coming Apr 16 - Apr 23
Chrome Stable May 19 2020
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passescanary-base
as described in [WIP] deps: update V8 to 8.0 #32095 (comment)