-
Notifications
You must be signed in to change notification settings - Fork 29.6k
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: forward compatibility to current V8 master #12875
Conversation
Original commit message: Remove object grouping Enbedders should switch to EmbedderHeapTracer API. BUG=v8:5828 Change-Id: I82f2bc583d246617865a17f5904e02cd35f92fec Reviewed-on: https://chromium-review.googlesource.com/448539 Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{nodejs#43551} Ref: https://chromium-review.googlesource.com/448539 Ref: v8/v8@78867ad8707a016
Original commit message: Drop UniqueId from include/v8.h It's unused since March 2 2017 (https://chromium-review.googlesource.com/448539). This removes it assuming that leaving it in the header was an oversight. BUG=v8:5828 Review-Url: https://codereview.chromium.org/2732803002 Cr-Commit-Position: refs/heads/master@{nodejs#43605} Ref: v8/v8@de1461b7efd
Original commit message: Remove experimental fast accessor builder API As the code isn't used, but would have to be ported from hand-written assembly to CodeStubAssembler anyways, I propose to remove it and restore it if we decide that we actually need it. R=vogelheim@chromium.org BUG= Change-Id: Iffd7fc6ec534b1dd7a9144da900424355c8a7a02 Reviewed-on: https://chromium-review.googlesource.com/453461 Commit-Queue: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{nodejs#43763} Ref: v8/v8@2cd2f5feff3
Original commit message: Make v8::Eternal::Get and IsEmpty const. They do not modify the state of the handle. Review-Url: https://codereview.chromium.org/2753973002 Cr-Commit-Position: refs/heads/master@{nodejs#43907} Ref: v8/v8@3700a01c82
Original commit message: Give v8::Eternal a direct reference to the handle. This makes it more similar to other handle types (like PersistentBase), by simply storing an i::Object** cast to T*. This means that it is not necessary to look up the handle in the eternal handles table to access the underlying value. Like the built-in roots (null, etc.), an eternal handle can never be destroyed, so we don't even need to allocate a separate local handle. Instead, the Local<T> can point directly at the eternal reference. This makes Eternal<T>::Get trivial. Review-Url: https://codereview.chromium.org/2751263003 Cr-Commit-Position: refs/heads/master@{nodejs#43912} Ref: v8/v8@4acdb5eec2c
Backport new virtual methods from 99743ad460e (“[wasm] Transferrable modules”). Ref: https://codereview.chromium.org/2748473004 Ref: v8/v8@99743ad460e
Backport removed methods from 6226576efa82ee (“[wasm] Deleted old way of checking embedder limits on wasm size.”). Ref: https://codereview.chromium.org/2772203005 Ref: v8/v8@6226576efa82ee
Backport deprecation of `Context::EstimatedSize()` from da5b745dba387 (“[api] deprecate unused context size estimate”). Ref: v8/v8@da5b745
This works locally, so I kicked off CI. Flags that would still be removed:
Remaining diff to current V8 master |
0727030
to
41f6222
Compare
Backport ABI-incompatible changes from bf463c4dc080 (“[async-iteration] implement AsyncGenerator”) and dc662e5b740c (“[inspector] move console to builtins”). This also requires relaxing one of the V8 unit tests. Ref: https://chromium-review.googlesource.com/446961 Ref: v8/v8@bf463c4dc080 Ref: https://codereview.chromium.org/2785293002 Ref: v8/v8@dc662e5b740c [squash] fixup V8 test
Backport ABI-incompatible changes from 94283dcf4459f (“[ESNext] Implement DynamicImportCall”). Ref: https://codereview.chromium.org/2703563002 Ref: v8/v8@94283dcf4459f
Backport API-incompatible changes from 2e4a68733803 (“[v8] v8::StackTrace::AsArray returns correct array”). Ref: https://codereview.chromium.org/2806373005 Ref: https://github.com/v8/v8/2e4a68733803
Original commit message: Add documentation for FunctionCallbackInfo R=verwaest@chromium.org,haraken@chromium.org,yukishiino@chromium.org BUG= Change-Id: I273f5ce305f80b2aa5e9c8c42a6e8e5afc51a0a7 Reviewed-on: https://chromium-review.googlesource.com/484422 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{nodejs#44927} Ref: v8/v8@4fdf9fd4813
41f6222
to
932bd46
Compare
I suppose we can have this only on |
If you prefer that, yes, I guess so. Edit: I’ll just switch the base branch to v8.x-staging once V8 5.8 is on it.
Heh, well, from it quick glance it looks that way – it’s a bit hard to tell since everything is squashed into one big change. Edit: See #12878 (comment) for a better answer :) |
Backport ABI-incompatible changes from dab18fb0bbcdd (“Make idle tasks optional in the default platform.”). Ref: https://codereview.chromium.org/2737743002 Ref: v8/v8@dab18fb0bbcdd
Updated with one extra change from #12878 that seems to make sense (though it probably doesn’t actually affect addons anyway). The diff between the two PRs looks pretty nice to me, which seems like a good sign this will work out. :) |
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.
Rubber stamp LGTM from me. I haven't gone through the code in detail, but I applied the patch and gave it some tests and everything appears to work as expected.
Backport ABI-incompatible changes from dab18fb0bbcdd (“Make idle tasks optional in the default platform.”). Ref: https://codereview.chromium.org/2737743002 Ref: v8/v8@dab18fb0bbcdd PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message: Add documentation for FunctionCallbackInfo R=verwaest@chromium.org,haraken@chromium.org,yukishiino@chromium.org BUG= Change-Id: I273f5ce305f80b2aa5e9c8c42a6e8e5afc51a0a7 Reviewed-on: https://chromium-review.googlesource.com/484422 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#44927} Ref: v8/v8@4fdf9fd4813 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message: Add documentation for FunctionCallbackInfo R=verwaest@chromium.org,haraken@chromium.org,yukishiino@chromium.org BUG= Change-Id: I273f5ce305f80b2aa5e9c8c42a6e8e5afc51a0a7 Reviewed-on: https://chromium-review.googlesource.com/484422 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#44927} Ref: v8/v8@4fdf9fd4813 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message: Add documentation for FunctionCallbackInfo R=verwaest@chromium.org,haraken@chromium.org,yukishiino@chromium.org BUG= Change-Id: I273f5ce305f80b2aa5e9c8c42a6e8e5afc51a0a7 Reviewed-on: https://chromium-review.googlesource.com/484422 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#44927} Ref: v8/v8@4fdf9fd4813 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message: Add documentation for FunctionCallbackInfo R=verwaest@chromium.org,haraken@chromium.org,yukishiino@chromium.org BUG= Change-Id: I273f5ce305f80b2aa5e9c8c42a6e8e5afc51a0a7 Reviewed-on: https://chromium-review.googlesource.com/484422 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#44927} Ref: v8/v8@4fdf9fd4813 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message: Add documentation for FunctionCallbackInfo R=verwaest@chromium.org,haraken@chromium.org,yukishiino@chromium.org BUG= Change-Id: I273f5ce305f80b2aa5e9c8c42a6e8e5afc51a0a7 Reviewed-on: https://chromium-review.googlesource.com/484422 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#44927} Ref: v8/v8@4fdf9fd4813 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message: Add documentation for FunctionCallbackInfo R=verwaest@chromium.org,haraken@chromium.org,yukishiino@chromium.org BUG= Change-Id: I273f5ce305f80b2aa5e9c8c42a6e8e5afc51a0a7 Reviewed-on: https://chromium-review.googlesource.com/484422 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#44927} Ref: v8/v8@4fdf9fd4813 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message: Add documentation for FunctionCallbackInfo R=verwaest@chromium.org,haraken@chromium.org,yukishiino@chromium.org BUG= Change-Id: I273f5ce305f80b2aa5e9c8c42a6e8e5afc51a0a7 Reviewed-on: https://chromium-review.googlesource.com/484422 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{nodejs#44927} Ref: v8/v8@4fdf9fd4813 PR-URL: nodejs#12875 Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: nodejs#12875 Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message: Add documentation for FunctionCallbackInfo R=verwaest@chromium.org,haraken@chromium.org,yukishiino@chromium.org BUG= Change-Id: I273f5ce305f80b2aa5e9c8c42a6e8e5afc51a0a7 Reviewed-on: https://chromium-review.googlesource.com/484422 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#44927} Ref: v8/v8@4fdf9fd4813 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
As discussed in nodejs/CTC#99, we are aiming for a upgrade to V8 6.0 in the Node 8.x lifecycle. Therefore, it makes sense to apply changes that are semver-major because they break the API or ABI before that upgrade actually happens.
Changes that are marked
deps:
are cherry-picks, the rest is manual work and needs review.This is a bit WIP because I’m still compiling to see if everything works out. ;)CI: https://ci.nodejs.org/job/node-test-commit/9702/CI: https://ci.nodejs.org/job/node-test-commit/9705/CI: https://ci.nodejs.org/job/node-test-commit/9720/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/683/V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/685/V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/686/V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/687/V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/691/
CITGM: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/763/
CITGM on master for comparison: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/764/
@nodejs/v8 @targos @jasnell
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesAffected core subsystem(s)
deps/v8