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

[v16.x backport] deps: update V8 to 9.1 #38991

Closed
wants to merge 20 commits into from

Commits on Jun 11, 2021

  1. deps: update V8 to 9.1.269.36

    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    5ae4174 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    177d398 View commit details
    Browse the repository at this point in the history
  3. deps: V8: un-cherry-pick bd019bd

    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
    
    PR-URL: nodejs#32116
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    refack authored and targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    4c8186c View commit details
    Browse the repository at this point in the history
  4. deps: V8: patch register-arm64.h

    Fixes a compilation issue on some platforms
    
    PR-URL: nodejs#32116
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    refack authored and targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    e3a5f1d View commit details
    Browse the repository at this point in the history
  5. deps: V8: forward declaration of Rtl*FunctionTable

    This should be semver-patch since actual invocation is version
    conditional.
    
    PR-URL: nodejs#32116
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    refack authored and targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    86e3e85 View commit details
    Browse the repository at this point in the history
  6. deps: make v8.h compatible with VS2015

    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 <targos@protonmail.com>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    joaocgreis authored and targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    72e24b4 View commit details
    Browse the repository at this point in the history
  7. deps: fix V8 build issue with inline methods

    PR-URL: nodejs#35415
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Myles Borins <myles.borins@gmail.com>
    gengjiawen authored and targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    081c31f View commit details
    Browse the repository at this point in the history
  8. deps: V8: backport aaacffa1e003

    Original commit message:
    
        PPC: skip all Simd tests on PPC
    
        As of https://crrev.com/c/2629465, Simd tests cannot pass on
        architectures without Simd support. Tests will need to be re-enabled
        once Simd support is fully implemented on PPC.
    
        Change-Id: I963639f1afa0c0ca7be3ca4b2fc06e874235b903
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2693056
        Reviewed-by: Zhi An Ng <zhin@chromium.org>
        Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
        Commit-Queue: Milad Fa <mfarazma@redhat.com>
        Cr-Commit-Position: refs/heads/master@{#72788}
    
    Refs: v8/v8@aaacffa
    
    PR-URL: nodejs#38273
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Michael Dawson <midawson@redhat.com>
    Reviewed-By: Mary Marchini <oss@mmarchini.me>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    1548507 View commit details
    Browse the repository at this point in the history
  9. deps: silence irrelevant V8 warnings

    PR-URL: nodejs#37587
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Myles Borins <myles.borins@gmail.com>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    5d666c7 View commit details
    Browse the repository at this point in the history
  10. deps: V8: cherry-pick d59db06bf542

    Original commit message:
    
        [weakrefs] Remove --no-harmony-weak-refs flag
    
        Bug: v8:8179
        Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2741582
        Commit-Queue: Shu-yu Guo <syg@chromium.org>
        Reviewed-by: Shu-yu Guo <syg@chromium.org>
        Reviewed-by: Adam Klein <adamk@chromium.org>
        Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#73871}
    
    Refs: v8/v8@d59db06
    
    PR-URL: nodejs#38273
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Michael Dawson <midawson@redhat.com>
    Reviewed-By: Mary Marchini <oss@mmarchini.me>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    0735b58 View commit details
    Browse the repository at this point in the history
  11. deps: V8: cherry-pick c0fceaa0669b

    Original commit message:
    
        Reland "[api] JSFunction PromiseHook for v8::Context"
    
        This is a reland of d5457f5fb7ea05ca05a697599ffa50d35c1ae3c7
        after a speculative revert.
    
        Additionally it fixes an issue with throwing promise hooks.
    
        Original change's description:
        > [api] JSFunction PromiseHook for v8::Context
        >
        > This will enable Node.js to get much better performance from async_hooks
        > as currently PromiseHook delegates to C++ for the hook function and then
        > Node.js delegates it right back to JavaScript, introducing several
        > unnecessary barrier hops in code that gets called very, very frequently
        > in modern, promise-heavy applications.
        >
        > This API mirrors the form of the original C++ function based PromiseHook
        > API, however it is intentionally separate to allow it to use JSFunctions
        > triggered within generated code to, as much as possible, avoid entering
        > runtime functions entirely.
        >
        > Because PromiseHook has internal use also, beyond just the Node.js use,
        > I have opted to leave the existing API intact and keep this separate to
        > avoid conflicting with any possible behaviour expectations of other API
        > users.
        >
        > The design ideas for this new API stemmed from discussion with some V8
        > team members at a previous Node.js Diagnostics Summit hosted by Google
        > in Munich, and the relevant documentation of the discussion can be found
        > here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e
        >
        > A summary of the reasons for why this new design is important can be
        > found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing
        >
        > Bug: v8:11025
        > Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697
        > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188
        > Reviewed-by: Marja Hölttä <marja@chromium.org>
        > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
        > Reviewed-by: Anton Bikineev <bikineev@chromium.org>
        > Reviewed-by: Igor Sheludko <ishell@chromium.org>
        > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
        > Cr-Commit-Position: refs/heads/master@{#73858}
    
        Bug: v8:11025
        Bug: chromium:1197475
        Change-Id: I73a71e97d9c3dff89a2b092c3fe4adff81ede8ef
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2823917
        Reviewed-by: Marja Hölttä <marja@chromium.org>
        Reviewed-by: Igor Sheludko <ishell@chromium.org>
        Reviewed-by: Anton Bikineev <bikineev@chromium.org>
        Reviewed-by: Camillo Bruni <cbruni@chromium.org>
        Commit-Queue: Camillo Bruni <cbruni@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#74071}
    
    Refs: v8/v8@c0fceaa
    
    PR-URL: nodejs#38273
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Michael Dawson <midawson@redhat.com>
    Reviewed-By: Mary Marchini <oss@mmarchini.me>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    c4b044f View commit details
    Browse the repository at this point in the history
  12. deps: V8: cherry-pick 272445f10927

    Original commit message:
    
        [runtime] Fix promise hooks
    
        promiseCapability can be undefined.
    
        Bug: v8:11025
        Bug: chromium:1201113
        Change-Id: I9da8764820cee0db1f0c38ed2fff0e3afeb9a80e
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2844649
        Reviewed-by: Marja Hölttä <marja@chromium.org>
        Commit-Queue: Camillo Bruni <cbruni@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#74117}
    
    Refs: v8/v8@272445f
    
    PR-URL: nodejs#38273
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Michael Dawson <midawson@redhat.com>
    Reviewed-By: Mary Marchini <oss@mmarchini.me>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    f3c6065 View commit details
    Browse the repository at this point in the history
  13. deps: V8: cherry-pick 5f4413194480

    Original commit message:
    
        [promises] Change context promise hooks to Callable
    
        The previously added perf-context Promise-hooks take a v8::Function as
        arguments. However, the builtin code was only accepting JSFunctions
        which causes cast errors.
    
        Drive-by-fix: Directly pass nativeContext in more places.
    
        Bug: chromium:1201465
        Change-Id: Ic8bed11253a1f18a84e71eb9ea809b1ec1c3f428
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850162
        Reviewed-by: Jakob Gruber <jgruber@chromium.org>
        Commit-Queue: Camillo Bruni <cbruni@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#74223}
    
    Refs: v8/v8@5f44131
    
    PR-URL: nodejs#38273
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Michael Dawson <midawson@redhat.com>
    Reviewed-By: Mary Marchini <oss@mmarchini.me>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    36a0606 View commit details
    Browse the repository at this point in the history
  14. deps: V8: cherry-pick 4c074516397b

    Original commit message:
    
        [promises] Fix slow path when context promise hooks are present
    
        Bug: chromium:1201936
        Change-Id: I1ee545e33587ddf4a5c7e1cbd64b53d36c75a146
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850936
        Reviewed-by: Marja Hölttä <marja@chromium.org>
        Reviewed-by: Jakob Gruber <jgruber@chromium.org>
        Commit-Queue: Camillo Bruni <cbruni@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#74267}
    
    Refs: v8/v8@4c07451
    
    PR-URL: nodejs#38273
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Michael Dawson <midawson@redhat.com>
    Reviewed-By: Mary Marchini <oss@mmarchini.me>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    ad32c41 View commit details
    Browse the repository at this point in the history
  15. deps: V8: cherry-pick fa4cb172cde2

    Original commit message:
    
        [runtime] Fix Promise.all context promise hooks
    
        We have to take the slow path in Promise.all if context promise hooks
        are set. The fast-path doesn't create intermediate promises by default.
    
        Bug: chromium:1204132, v8:11025
        Change-Id: Ide92de00a4f6df05e0ddbc8814f6673bd667f426
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2866771
        Reviewed-by: Victor Gomes <victorgomes@chromium.org>
        Commit-Queue: Camillo Bruni <cbruni@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#74326}
    
    Refs: v8/v8@fa4cb17
    
    PR-URL: nodejs#38273
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Michael Dawson <midawson@redhat.com>
    Reviewed-By: Mary Marchini <oss@mmarchini.me>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    97524cf View commit details
    Browse the repository at this point in the history
  16. tools: update V8 gypfiles for 9.1

    PR-URL: nodejs#38273
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Michael Dawson <midawson@redhat.com>
    Reviewed-By: Mary Marchini <oss@mmarchini.me>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    2af1e04 View commit details
    Browse the repository at this point in the history
  17. test: fix V8 serdes test for V8 9.1

    Refs: v8/v8@40e499c
    
    PR-URL: nodejs#38273
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Michael Dawson <midawson@redhat.com>
    Reviewed-By: Mary Marchini <oss@mmarchini.me>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    4cbd9e1 View commit details
    Browse the repository at this point in the history
  18. test: adapt test-linux-perf to V8 changes

    Refs: v8/v8@9a31804
    
    PR-URL: nodejs#38273
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Michael Dawson <midawson@redhat.com>
    Reviewed-By: Mary Marchini <oss@mmarchini.me>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    c509532 View commit details
    Browse the repository at this point in the history
  19. test: adapt abort tests for new Windows code

    V8 9.1 changed the way it aborts on uncaught exceptions on Windows.
    It now uses the code 0x80000003 (exception breakpoint) instead of
    0xC0000005 (access violation).
    
    Refs: v8/v8@26d85ac
    
    PR-URL: nodejs#38273
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Michael Dawson <midawson@redhat.com>
    Reviewed-By: Mary Marchini <oss@mmarchini.me>
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    fd88ec2 View commit details
    Browse the repository at this point in the history
  20. deps: make V8 9.1 abi-compatible with 9.0

    Revert "[api] Avoid handles for const API functions"
    
    This reverts commit aee471b2ff5b1a9e622426454885b748d226535b.
    
    Revert "[api] Remove deprecated [Shared]ArrayBuffer API"
    
    This reverts commit 578f6be77fc5d8af975005c2baf918e7225abb62.
    
    Revert "[Jobs]: Cleanup in v8 platform."
    
    This reverts commit baf2b088dd9f585aa597459f30d71431171666e2.
    
    Revert "Skip global registration of [Shared]ArrayBuffer backing stores"
    
    This reverts commit fcdf35e6d70d51699ece063e25dc705e80673308.
    targos committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    f33c128 View commit details
    Browse the repository at this point in the history