Uh oh!
There was an error while loading. Please reload this page.
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
addaleax
commented
May 6, 2017
This works locally, so I kicked off CI. Flags that would still be removed: Remaining diff to current V8 master |
0727030 to
41f6222CompareBackport 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
932bd46Comparetargos
commented
May 6, 2017
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
addaleax
commented
May 7, 2017
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. :) |
jasnell
left a comment
There was a problem hiding this comment.
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.
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@{#43551} Ref: https://chromium-review.googlesource.com/448539 Ref: v8/v8@78867ad8707a016 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
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@{#43605} Ref: v8/v8@de1461b7efd PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
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@{#43763} Ref: v8/v8@2cd2f5feff3 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
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@{#43907} Ref: v8/v8@3700a01c82 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
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@{#43912} Ref: v8/v8@4acdb5eec2c PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
Backport new virtual methods from 99743ad460e (“[wasm] Transferrable modules”). Ref: https://codereview.chromium.org/2748473004 Ref: v8/v8@99743ad460e PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
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 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
Backport deprecation of `Context::EstimatedSize()` from da5b745dba387 (“[api] deprecate unused context size estimate”). Ref: v8/v8@da5b745 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
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 PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
Backport ABI-incompatible changes from 94283dcf4459f (“[ESNext] Implement DynamicImportCall”). Ref: https://codereview.chromium.org/2703563002 Ref: v8/v8@94283dcf4459f PR-URL: #12875 Reviewed-By: James M Snell <jasnell@gmail.com>
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 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>
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