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

deps: update V8 to 9.2 #38990

Closed
wants to merge 29 commits into from
Closed

deps: update V8 to 9.2 #38990

wants to merge 29 commits into from

Commits on Jul 20, 2021

  1. deps: update V8 to 9.2.230.21

    targos committed Jul 20, 2021
    Copy the full SHA
    cbcca9b View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    92a4738 View commit details
    Browse the repository at this point in the history
  3. src: update NODE_MODULE_VERSION to 95

    Major V8 updates are usually API/ABI incompatible with previous
    versions. This commit adapts NODE_MODULE_VERSION for V8 9.2.
    
    Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
    targos committed Jul 20, 2021
    Copy the full SHA
    f3925e0 View commit details
    Browse the repository at this point in the history
  4. 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 Jul 20, 2021
    Copy the full SHA
    4d1ae1b View commit details
    Browse the repository at this point in the history
  5. 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 Jul 20, 2021
    Copy the full SHA
    4755eff View commit details
    Browse the repository at this point in the history
  6. 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 Jul 20, 2021
    Copy the full SHA
    7021ce5 View commit details
    Browse the repository at this point in the history
  7. 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 Jul 20, 2021
    Copy the full SHA
    4dfe06c View commit details
    Browse the repository at this point in the history
  8. 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 Jul 20, 2021
    Copy the full SHA
    a83b37f 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 Jul 20, 2021
    Copy the full SHA
    0d184ad View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    300ba51 View commit details
    Browse the repository at this point in the history
  11. Copy the full SHA
    f97ebf6 View commit details
    Browse the repository at this point in the history
  12. Copy the full SHA
    e1d1fb9 View commit details
    Browse the repository at this point in the history
  13. Copy the full SHA
    903db05 View commit details
    Browse the repository at this point in the history
  14. test: update trace events test expectations

    V8 9.2 doesn't emit the "V8.ScriptCompiler" event anymore.
    Use "V8.GCScavenger" instead.
    targos committed Jul 20, 2021
    Copy the full SHA
    53fcfe1 View commit details
    Browse the repository at this point in the history
  15. test: remove test-debug-args

    It it's not testing anything useful anymore.
    targos committed Jul 20, 2021
    Copy the full SHA
    a5311aa View commit details
    Browse the repository at this point in the history
  16. test: ensure microtask queues are not automatically drained

    V8 had a bug that in certain cases the default microtask queue was
    drained, and this test relies on the behavior.
    jeisinger authored and targos committed Jul 20, 2021
    Copy the full SHA
    56aec9e View commit details
    Browse the repository at this point in the history
  17. Copy the full SHA
    80f6175 View commit details
    Browse the repository at this point in the history
  18. deps: V8: cherry-pick 3d24b3ab8af0

    Original commit message:
    
        ARM64: VRegister::from_code expected to be constexpr
    
        GCC build fails trying to use a non constexpr function from a
        constexpr function.
    
        ../chromium-92.0.4503.0/v8/src/wasm/baseline/liftoff-register.h: In member function 'constexpr v8::internal::DoubleRegister v8::internal::wasm::LiftoffRegister::fp() const':
        ../chromium-92.0.4503.0/v8/src/wasm/baseline/liftoff-register.h:286:71: error: call to non-'constexpr' function 'static v8::internal::VRegister v8::internal::VRegister::from_code(int)'
          286 |     return DoubleRegister::from_code(code_ - kAfterMaxLiftoffGpRegCode);
              |                                                                       ^
        In file included from ../chromium-92.0.4503.0/v8/src/codegen/register-arch.h:16,
                         from ../chromium-92.0.4503.0/v8/src/deoptimizer/translation-array.h:8,
                         from ../chromium-92.0.4503.0/v8/src/objects/code.h:10,
                         from ../chromium-92.0.4503.0/v8/src/codegen/reloc-info.h:10,
                         from ../chromium-92.0.4503.0/v8/src/codegen/assembler.h:47,
                         from ../chromium-92.0.4503.0/v8/src/codegen/assembler-arch.h:8,
                         from ../chromium-92.0.4503.0/v8/src/codegen/turbo-assembler.h:12,
                         from ../chromium-92.0.4503.0/v8/src/codegen/macro-assembler.h:8,
                         from ../chromium-92.0.4503.0/v8/src/wasm/baseline/liftoff-assembler.h:13,
                         from ../chromium-92.0.4503.0/v8/src/wasm/baseline/liftoff-assembler.cc:5:
        ../chromium-92.0.4503.0/v8/src/codegen/arm64/register-arm64.h:416:20: note: 'static v8::internal::VRegister v8::internal::VRegister::from_code(int)' declared here
          416 |   static VRegister from_code(int code) {
              |                    ^~~~~~~~~
    
        Bug: chromium:819294
        Change-Id: Ia19ea90f3f666702d32c90e147af17dcda7e08a6
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2929805
        Reviewed-by: Maya Lekova <mslekova@chromium.org>
        Commit-Queue: José Dapena Paz <jdapena@igalia.com>
        Cr-Commit-Position: refs/heads/master@{#74889}
    
    Refs: v8/v8@3d24b3a
    targos committed Jul 20, 2021
    Copy the full SHA
    1e6c1f5 View commit details
    Browse the repository at this point in the history
  19. deps: V8: backport 71e8f8bb3c26

    Original commit message:
    
        [codegen] Move definition of GetRegisterParameter to inline header
    
        This fixes compilation of V8 in Node.js with Visual Studio 2019.
        Without this change, MSVC errors with C3779 (a function that returns
        'auto' cannot be used before it is defined) on the `static constexpr
        auto registers()` method.
    
        Bug: v8:11420
        Change-Id: Id545199e2cdc10c8560031fb5950ec1171e5d554
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2964095
        Commit-Queue: Igor Sheludko <ishell@chromium.org>
        Reviewed-by: Igor Sheludko <ishell@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#75173}
    
    Refs: v8/v8@71e8f8b
    targos committed Jul 20, 2021
    Copy the full SHA
    fe13d6b View commit details
    Browse the repository at this point in the history
  20. deps: V8: cherry-pick 986299250e6d

    Original commit message:
    
        [wasm-simd] Skip tests which require Simd enabled
    
        These tests require Simd enabled which causes failures
        on machines without the support.
    
        They are already skipped on Mips: https://crrev.com/c/2841887
    
        Change-Id: I4b9a9bb3cb208a0e9aa12dc135393bc515ad766e
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2927210
        Reviewed-by: Zhi An Ng <zhin@chromium.org>
        Commit-Queue: Milad Fa <mfarazma@redhat.com>
        Cr-Commit-Position: refs/heads/master@{#74891}
    
    Refs: v8/v8@9862992
    richardlau authored and targos committed Jul 20, 2021
    Copy the full SHA
    80c2e3e View commit details
    Browse the repository at this point in the history
  21. deps: V8: cherry-pick a5cea1bfc38c

    Original commit message:
    
        Mark Node::opcode() and Operator::opcode() as constexpr.
    
        Without the explicit constexpr keyword, Clang seems to be able to treat
        these methods as constexpr, whereas MSVC will not.
    
        Bug: v8:11760
        Change-Id: I9f6492f38fb50dcaf7a4f09da0bd79c0da6a50eb
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2912916
        Reviewed-by: Clemens Backes <clemensb@chromium.org>
        Reviewed-by: Maya Lekova <mslekova@chromium.org>
        Commit-Queue: Lei Zhang <thestig@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#74791}
    
    Refs: v8/v8@a5cea1b
    targos committed Jul 20, 2021
    Copy the full SHA
    dd72030 View commit details
    Browse the repository at this point in the history
  22. deps: V8: cherry-pick 7ff6609a5385

    Original commit message:
    
        Move DCHECK() in JSCallOrConstructNode ctor into a helper function.
    
        As is, the DCHECK() has a #if inside, and MSVC has trouble
        pre-processing that. Fix this by moving the conditional inside the
        DCHECK() into a separate helper function.
    
        Bug: v8:11760
        Change-Id: Ib4ae0fe263029bb426da378afa5b6881557ce652
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2919421
        Reviewed-by: Maya Lekova <mslekova@chromium.org>
        Reviewed-by: Clemens Backes <clemensb@chromium.org>
        Commit-Queue: Lei Zhang <thestig@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#74807}
    
    Refs: v8/v8@7ff6609
    targos committed Jul 20, 2021
    Copy the full SHA
    799d0c5 View commit details
    Browse the repository at this point in the history
  23. deps: V8: cherry-pick 53784bdb8f01

    Original commit message:
    
        [liftoff] Handle constant memory indexes specially
    
        This adds detection for constant memory indexes which can statically be
        proven to be in-bounds (because the effective offset is within the
        minimum memory size). In these cases, we can skip the bounds check and
        the out-of-line code for the trap-handler.
        This often saves 1-2% of code size.
    
        R=ahaas@chromium.org
    
        Bug: v8:11802
        Change-Id: I0ee094e6f1f5d132af1d6a8a7c539a4af6c3cb5e
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2919827
        Commit-Queue: Clemens Backes <clemensb@chromium.org>
        Reviewed-by: Andreas Haas <ahaas@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#74825}
    
    Refs: v8/v8@53784bd
    
    PR-URL: nodejs#39337
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    targos committed Jul 20, 2021
    Copy the full SHA
    2587faf View commit details
    Browse the repository at this point in the history
  24. deps: V8: cherry-pick 2b77ca200c56

    Original commit message:
    
        [wasm][liftoff] Always zero-extend 32 bit offsets
    
        The upper 32 bits of the 64 bit offset register are not guaranteed to be
        cleared, so a zero-extension is needed. We already do the zero-extension
        in the case of explicit bounds checking, but this should also be done if
        the trap handler is enabled.
    
        R=clemensb@chromium.org
        CC=jkummerow@chromium.org
    
        Bug: v8:11809
        Change-Id: I21e2535c701041d11fa06c176fa683d82db0a3f1
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2917612
        Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
        Reviewed-by: Clemens Backes <clemensb@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#74881}
    
    Refs: v8/v8@2b77ca2
    
    PR-URL: nodejs#39337
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    targos committed Jul 20, 2021
    Copy the full SHA
    d975b6a View commit details
    Browse the repository at this point in the history
  25. deps: V8: cherry-pick 56fe020eec0c

    Original commit message:
    
        [wasm][arm64] Always zero-extend 32 bit offsets, for realz
    
        We've already been zero-extending 32-bit offset registers since
        https://chromium-review.googlesource.com/c/v8/v8/+/2917612,
        but that patch only covered the case where offset_imm == 0.
        When there is a non-zero offset, we need the same fix.
    
        Bug: chromium:1224882,v8:11809
        Change-Id: I1908f735929798f411346807fc4f3c79d8e04362
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2998582
        Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
        Reviewed-by: Clemens Backes <clemensb@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#75500}
    
    Refs: v8/v8@56fe020
    
    Fixes: nodejs#39327
    
    PR-URL: nodejs#39337
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    targos committed Jul 20, 2021
    Copy the full SHA
    03af7f4 View commit details
    Browse the repository at this point in the history
  26. deps: V8: cherry-pick 3805a698f7b6

    Original commit message:
    
        PPC/s390: [wasm][liftoff] Always zero-extend 32 bit offsets
    
        Port 2b77ca200c56667c68895e49c96c10ff77834f09
    
        Original Commit Message:
    
            The upper 32 bits of the 64 bit offset register are not guaranteed to be
            cleared, so a zero-extension is needed. We already do the zero-extension
            in the case of explicit bounds checking, but this should also be done if
            the trap handler is enabled.
    
        R=thibaudm@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
        BUG=
        LOG=N
    
        Change-Id: Ife3ae4f93b85fe1b2c76fe4b98fa408b5b51ed71
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2929661
        Reviewed-by: Junliang Yan <junyan@redhat.com>
        Commit-Queue: Milad Fa <mfarazma@redhat.com>
        Cr-Commit-Position: refs/heads/master@{#74886}
    
    Refs: v8/v8@3805a69
    
    PR-URL: nodejs#39337
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    targos committed Jul 20, 2021
    Copy the full SHA
    021567a View commit details
    Browse the repository at this point in the history
  27. deps: V8: cherry-pick 359d44df4cdd

    Original commit message:
    
        [riscv64] Fix build failed
    
        Port 2b77ca200c56667c68895e49c96c10ff77834f09
    
        Change-Id: Ie953a1d54f5529423ae35d1b1cd3ca25e8101c6e
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2931577
        Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
        Commit-Queue: Brice Dobry <brice.dobry@futurewei.com>
        Reviewed-by: Brice Dobry <brice.dobry@futurewei.com>
        Cr-Commit-Position: refs/heads/master@{#74937}
    
    Refs: v8/v8@359d44d
    
    PR-URL: nodejs#39337
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    targos committed Jul 20, 2021
    Copy the full SHA
    59ed44b View commit details
    Browse the repository at this point in the history
  28. deps: V8: backport 5c76da8ddcf8

    Original commit message:
    
        [mips][wasm][liftoff] Fix compile failed
    
        Port 2b77ca200c56667c68895e49c96c10ff77834f09
    
        Bug: v8:11809
    
        Change-Id: Idbbbc10d1339d6c8463686b6e701fb601a217cab
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2931557
        Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
        Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
        Auto-Submit: Liu yu <liuyu@loongson.cn>
        Cr-Commit-Position: refs/heads/master@{#74934}
    
    Refs: v8/v8@5c76da8
    
    PR-URL: nodejs#39337
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    targos committed Jul 20, 2021
    Copy the full SHA
    3eb9fad View commit details
    Browse the repository at this point in the history
  29. tools: fetch googletest dependency for V8 CI

    gtest_prod.h is not enough to build V8's cctests.
    targos committed Jul 20, 2021
    Copy the full SHA
    405560f View commit details
    Browse the repository at this point in the history