Skip to content
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

[WIP] deps: update V8 to 8.2.297.1 #32354

Closed
wants to merge 16 commits into from
Closed

Conversation

mmarchini
Copy link
Contributor

@mmarchini mmarchini commented Mar 19, 2020

Chrome stable release date: Apr 28, 2020 undefined

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. v8 engine Issues and PRs related to the V8 dependency. labels Mar 19, 2020
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Mar 19, 2020

@richardlau
Copy link
Member

Chrome stable release date: Apr 28, 2020

Current target date for releasing Node.js 14 is Apr 21, 2020. I think in the past we have landed a V8 update just before it went stable in a previous major.

Once Node.js 14.0.0 is released the NODE_MODULE_VERSION is fixed and any future V8 updates would need to maintain ABI compatibility to go into Node.js 14.x.

@targos
Copy link
Member

targos commented Mar 19, 2020

It looks like --interpreted-frames-native-stack was removed?

@targos
Copy link
Member

targos commented Mar 19, 2020

I pushed two commits to fix V8 deprecations. The first one only applies to V8 8.2.
PR to master for the second one: #32358

@targos
Copy link
Member

targos commented Mar 19, 2020

Reworded commit messages and squashed gypfile update commits.

@nodejs-github-bot
Copy link
Collaborator

@mmarchini
Copy link
Contributor Author

Chrome is holding back their releases, and 8.1 was not promoted to stable yet, which means it's less likely we'll be able to make an exception and get this shipped with 14.0.0 (we might still be able to upgrade in the future).

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

mmarchini and others added 15 commits March 21, 2020 12:28
Major V8 updates are usually API/ABI incompatible with previous
versions. This commit adapts NODE_MODULE_VERSION for V8 8.2.

Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
PR-URL: nodejs#32116
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
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.

    [email protected],[email protected],[email protected]
    CC=​[email protected]

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <[email protected]>
    Reviewed-by: Michael Starzinger <[email protected]>
    Commit-Queue: Tamer Tas <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: v8/v8@bd019bd

PR-URL: nodejs#32116
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
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.

PR-URL: nodejs#32116
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Fixes a compilation issue on some platforms

PR-URL: nodejs#32116
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
This should be semver-patch since actual invocation is version
conditional.

PR-URL: nodejs#32116
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
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

PR-URL: nodejs#32116
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
PR-URL: nodejs#26685
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Refael Ackermann <[email protected]>

PR-URL: nodejs#32116
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
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 <[email protected]>

PR-URL: nodejs#32116
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
@bricss
Copy link

bricss commented Mar 24, 2020

@mmarchini is there any chances that node 14.0.0 can get shipped at least with V8 8.0? 😥

@mmarchini
Copy link
Contributor Author

@bricss the plan is to ship v14 with V8 8.1

@bnoordhuis
Copy link
Member

I don't want to rain on this parade but from today's announcement on v8-dev:

Updated V8 release plan to stay in sync with the Chrome release:

V8 8.0 becomes stable again
V8 8.1 is demoted to beta
V8 8.2 will be skipped
V8 8.3 is master

@mmarchini
Copy link
Contributor Author

@bnoordhuis was about to post that. I'm closing this PR since 8.2 will be skipped. We'll keep working on node-v8 to make sure upgrading to 8.3 goes smoothly when Chrome releases are resumed.

@mmarchini mmarchini closed this Mar 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.