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 10.1 #42657

Closed
wants to merge 21 commits into from
Closed

deps: update V8 to 10.1 #42657

wants to merge 21 commits into from

Commits on Apr 12, 2022

  1. deps: update V8 to 10.1.124.6

    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    a5cecb3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f4df3c5 View commit details
    Browse the repository at this point in the history
  3. src: update NODE_MODULE_VERSION to 108

    Major V8 updates are usually API/ABI incompatible with previous
    versions. This commit adapts NODE_MODULE_VERSION for V8 10.1.
    
    Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    9be688c 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 Apr 12, 2022
    Configuration menu
    Copy the full SHA
    4f4d0a5 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 Apr 12, 2022
    Configuration menu
    Copy the full SHA
    1db7e5b View commit details
    Browse the repository at this point in the history
  6. 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>
    
    deps: patch for v8 on windows
    
    PR-URL: nodejs#40010
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    
    deps: patch v8 for vs2019 in std17
    
    PR-URL: nodejs#40060
    Reviewed-By: Richard Lau <rlau@redhat.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    
    deps: workaround debug link error on Windows
    
    PR-URL: nodejs#38807
    Refs: nodejs#38788
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Ash Cripps <acripps@redhat.com>
    gengjiawen authored and targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    4451f9e View commit details
    Browse the repository at this point in the history
  7. deps: disable trap handler for Windows cross-compiler

    `handler-outside-simulator.cc` uses inline assembly, which is not
    supported by MSVC.
    
    PR-URL: nodejs#40488
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    f5e32e9 View commit details
    Browse the repository at this point in the history
  8. deps: silence V8's warning on CompileFunction

    We are not ready to migrate yet.
    
    Refs: nodejs/node-v8#214
    
    PR-URL: nodejs#40907
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    b253a3a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3d77c09 View commit details
    Browse the repository at this point in the history
  10. deps: make V8 compilable with older glibc

    Remove call to `memfd_create`.
    The function that references it is only used for V8 testing.
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    1a07ddf View commit details
    Browse the repository at this point in the history
  11. deps: V8: cherry-pick 87ce4f5d98a5

    Original commit message:
    
        [ic] use CSA_DCHECK in CodeStubAssembler::SharedValueBarrier
    
        Since the code is generated unconditionally, using a DCHECK to check
        that shared RO heap is enabled breaks builds with
        v8_enable_shared_ro_heap set to false, this patch turns that into a
        CSA_DCHECK so it only crashes when V8 actually attempts to store into
        a shared struct while the RO heap isn't shared at run time.
    
        Refs: nodejs#42115
        Bug: v8:12547
        Change-Id: I30d9a02b98a0b647097125c0a9d141e40d6348cc
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3561598
        Reviewed-by: Shu-yu Guo <syg@chromium.org>
        Reviewed-by: Leszek Swirski <leszeks@chromium.org>
        Commit-Queue: Joyee Cheung <joyee@igalia.com>
        Cr-Commit-Position: refs/heads/main@{#79756}
    
    Refs: v8/v8@87ce4f5
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    3d27658 View commit details
    Browse the repository at this point in the history
  12. deps: V8: cherry-pick a2cae2180a7a

    Original commit message:
    
        [runtime] Fix handling of interceptors, pt.2
    
        Stores to undeclared global in strict mode should throw ReferenceError.
    
        Bug: chromium:1309225
        Change-Id: Iac7c55da2ff9c16e488b4fc66408c5300469873e
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3553099
        Commit-Queue: Igor Sheludko <ishell@chromium.org>
        Auto-Submit: Igor Sheludko <ishell@chromium.org>
        Reviewed-by: Toon Verwaest <verwaest@chromium.org>
        Commit-Queue: Toon Verwaest <verwaest@chromium.org>
        Cr-Commit-Position: refs/heads/main@{#79625}
    
    Refs: v8/v8@a2cae21
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    f97c5c9 View commit details
    Browse the repository at this point in the history
  13. deps: V8: cherry-pick ca2a787a0b49

    Original commit message:
    
        Fix build with Windows 10 20348 SDK
    
        Bug: chromium:1292528
        Change-Id: If4da2ec92afb7b4fe9942778eca385344b9b6409
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563539
        Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
        Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
        Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
        Cr-Commit-Position: refs/heads/main@{#79709}
    
    Refs: v8/v8@ca2a787
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    15e00ca View commit details
    Browse the repository at this point in the history
  14. deps: V8: cherry-pick 4c29cf1b7885

    Original commit message:
    
        [heap] fix invocation of NearHeapLimitCallback
    
        This patch makes sure that NearHeapLimitCallback can invoke
        operations that trigger garbage collections. In addition
        this adds code to make the tracers aware of NearHeapLimitCallback.
    
        Bug: v8:12777
        Change-Id: I959a23a3e0224ba536cb18b14933813e56fc5292
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3575468
        Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
        Commit-Queue: Joyee Cheung <joyee@igalia.com>
        Cr-Commit-Position: refs/heads/main@{#79934}
    
    Refs: v8/v8@4c29cf1
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    32d70cd View commit details
    Browse the repository at this point in the history
  15. deps: V8: cherry-pick ad21d212fc14

    Original commit message:
    
        Preserve "proper method names" as-is in error.stack.
    
        This changes the logic for generating method names in `error.stack` to
        prepend an inferred type name only when the function name is a valid
        ECMAScript identifiers and does not equal the inferred type name, to
    
        (1) give developers more control over the exact name shown in
            `error.stack`, as well as
        (2) avoid confusion in the presence of renaming of local variables.
    
        Previously we'd leave the function name as-is if it was prefixed by the
        inferred type name, but that condition is unnecessarily strict, and led
        to a bunch of inconsistencies around special names like
        `<instance_member_initializer>` where this dynamic approached often
        prefixed it with the correct type name, but also sometimes got it wrong
        and prepended `Object.`, which is very unfortunate and misleading.
        Specifically for these special names, we'll add logic later in the
        parser to infer a useful (complete) name.
    
        The design doc (https://bit.ly/devtools-method-names-in-stack-traces)
        contains more background and examples of why we do this change.
    
        Doc: https://bit.ly/devtools-method-names-in-stack-traces
        Fixed: chromium:1294619
        Bug: chromium:1283435
        Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
        Cr-Commit-Position: refs/heads/main@{#79748}
    
    Refs: v8/v8@ad21d21
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    5a7a632 View commit details
    Browse the repository at this point in the history
  16. deps: V8: cherry-pick semver-major commits from 10.2

    Includes the following commits:
    
    commit b2978927d8a96ebc814cccbc5a9f1c35910ee621
        Remove dynamic map checks and custom deoptimization kinds
    
        This CL removes:
    
        - Dynamic map checks aka minimorphic property loads (TF support,
          builtins).
        - "Bailout" deopts (= drop to the interpreter once, but don't
          throw out optimized code).
        - "EagerWithResume" deopts (= part of dynamic map check
          functionality, we call a builtin for the deopt check and deopt
          or resume based on the result).
    
        Fixed: v8:12552
        Change-Id: I492cf1667e0f54586690b2f72a65ea804224b840
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401585
    
    commit f52f934119635058b179c2359fe070b8ee0f9233
        PPC/s390: Remove dynamic map checks and custom deoptimization kinds
    
        Port b2978927d8a96ebc814cccbc5a9f1c35910ee621
    
        Original Commit Message:
    
            This CL removes:
    
            - Dynamic map checks aka minimorphic property loads (TF support,
              builtins).
            - "Bailout" deopts (= drop to the interpreter once, but don't
              throw out optimized code).
            - "EagerWithResume" deopts (= part of dynamic map check
              functionality, we call a builtin for the deopt check and deopt
              or resume based on the result).
    
        R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
        BUG=
        LOG=N
    
        Change-Id: I64476f73810774c2c592231d82c4a2cbfa2bf94e
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3537881
    
    commit 38940b70986da6b43d18cb8cf8f0a3be36ca9010
        [loong64][mips] Remove dynamic map checks and custom deoptimization kinds
    
        Port commit b2978927d8a96ebc814cccbc5a9f1c35910ee621
    
        Fixed: v8:12552
        Change-Id: Ic2fbded9a662ed840a0350e3ce049e147fbf03a0
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3541527
    
    commit da5b5f66a6bd27df6249602378300c6961bc62b4
        [riscv64] Remove dynamic map checks and custom deoptimization kinds
    
        Port b2978927d8a96ebc814cccbc5a9f1c35910ee621
    
        Bug: v8:12552
        Change-Id: I73e76fc5cc8905a0fbfc801b2f794735866d19e8
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3544725
    
    commit ffae028b37991566c080c5528463f7d16017668c
        Forward deprecation for resurrecting finalizer
    
        Bug: v8:12672
        Change-Id: Ib4f53086436e028b4ea32fbc960f57e91709d184
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3532256
    
    commit f6386018d472665e36d662c8b159d95325999d69
        [api] Remove TracedGlobal<>
    
        Remove deprecated TracedGlobal<>, greatly simplifying handling of
        traced references in general.
    
        Also saves a word per v8::TracedReference as there's no need to keep a
        possible callback around.
    
        Bug: v8:12603
        Change-Id: Ice35d7906775b912d02e97a27a722b3e1cec28d9
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3532251
    
    commit a8beac553b0a1639bc9790c2d6f82caf6b2e150f
        Deprecate some signature checks
    
        Deprecate signature checks in
        * Template::SetNativeDataProperty
        * ObjectTemplate::SetAccessor
        These are not used in Chrome and require some complicated check in the IC code, which we want to remove.
    
        Change-Id: I413fafc8658e922fd590e7fe200600a624f019a6
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557253
    
    commit cff2b5000a1aa417a9c4499bcfa3ffda4542f4f1
        Deprecate signature checks in Set{Accessor,NativeDataProperty}
    
        Change from V8_DEPRECATE_SOON to V8_DEPRECATED. It turned out that we
        don't have to make changes in chrome code, so we can go to deprecated
        right away.
    
        Bug: chromium:1310790
        Change-Id: I1bd529536d3a0098f11f13b3e44fe3dbc80eed04
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571897
    
    commit 9238afb0c0ee52c9111a7e9f2f055137628771ad
        Allow embedder to set global OOM handler
    
        Embedders can currently specify a callback for OOM errors during
        Isolate initialization. However, there are cases where an OOM error can
        be thrown in a context where we don't have access to an Isolate, for
        example on a task posted to a worker thread. This CL introduces an
        initialization API to allow the embedder to specify a process-wide OOM
        callback.
    
        Bug: chromium:614440
        Change-Id: I326753d80767679f677e85104d9edeef92e19086
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3561916
    
    commit ca51ae3ac8b468509603633adb6ee3b3be9306ec
        [api][profiler] Get StartProfiling, StopProfiling to accept integer ID rather than string
    
        This CL adds support for interacting with CpuProfile with their integer
        id.
        A String ID is problematic because it forces an allocation when stopping
        or cancelling a Profiler which can happen during a GC when this
        is not allowed.
    
        Change-Id: I9a8e754bd67214be0bbc5ca051bcadf52bf71a68
        Bug: chromium:1297283
        Co-Authored-By: Nicolas Dubus <nicodubus@fb.com>
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3522896
    
    Refs: v8/v8@b297892
    Refs: v8/v8@f52f934
    Refs: v8/v8@38940b7
    Refs: v8/v8@da5b5f6
    Refs: v8/v8@ffae028
    Refs: v8/v8@f638601
    Refs: v8/v8@a8beac5
    Refs: v8/v8@cff2b50
    Refs: v8/v8@9238afb
    Refs: v8/v8@ca51ae3
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    9aabac8 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    a398c24 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    bdefa66 View commit details
    Browse the repository at this point in the history
  19. test: adapt test-v8-serdes for V8 9.9

    V8 changed the serialization format so we cannot expect that a value
    serialized by an old version can be reserialized to the same bytes.
    Change the test to expect that deserialization of the old value still
    works.
    
    Add another test which is expected to fail when the format changes so
    that we are aware when it happens and can call it out in the release
    notes.
    
    Closes: nodejs#41519
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    827bdb7 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    da62d9e View commit details
    Browse the repository at this point in the history
  21. test: adapt message tests for V8 10.2

    There are some changes for function names in stack traces.
    targos committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    6c5b764 View commit details
    Browse the repository at this point in the history