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 8.7 #35700

Merged
merged 24 commits into from
Nov 15, 2020
Merged

deps: update V8 to 8.7 #35700

merged 24 commits into from
Nov 15, 2020

Commits on Nov 15, 2020

  1. deps: update V8 to 8.7.220

    PR-URL: nodejs#35700
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: Joyee Cheung <[email protected]>
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Shelley Vohr <[email protected]>
    targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    48db20f View commit details
    Browse the repository at this point in the history
  2. build: reset embedder string to "-node.0"

    PR-URL: nodejs#35700
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: Joyee Cheung <[email protected]>
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Shelley Vohr <[email protected]>
    targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    98d1ae4 View commit details
    Browse the repository at this point in the history
  3. src: update NODE_MODULE_VERSION to 90

    Major V8 updates are usually API/ABI incompatible with previous
    versions. This commit adapts NODE_MODULE_VERSION for V8 8.7.
    
    Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
    
    PR-URL: nodejs#35700
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: Joyee Cheung <[email protected]>
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Shelley Vohr <[email protected]>
    targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    9d4d55b 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.
    
        [email protected],[email protected],[email protected]
        CC=​[email protected]
    
        Bug: v8:8728
        Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
        Reviewed-on: https://chromium-review.googlesource.com/c/1430065
        Reviewed-by: Jakob Gruber <[email protected]>
        Reviewed-by: Michael Starzinger <[email protected]>
        Commit-Queue: Tamer Tas <[email protected]>
        Cr-Commit-Position: refs/heads/master@{#59045}
    
    Refs: v8/v8@bd019bd
    
    PR-URL: nodejs#32116
    Reviewed-By: Michaël Zasso <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Ruben Bridgewater <[email protected]>
    refack authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    c460f7a View commit details
    Browse the repository at this point in the history
  5. deps: patch V8 to run on older XCode versions

    Patch V8 (compiler/js-heap-broker.cc) to remove the use of an optional
    property, which is a fairly new C++ feature, since that requires a newer
    XCode version than the minimum requirement in BUILDING.md and thus
    breaks CI.
    
    PR-URL: nodejs#32116
    Reviewed-By: Michaël Zasso <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Ruben Bridgewater <[email protected]>
    ryzokuken authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    5451975 View commit details
    Browse the repository at this point in the history
  6. deps: V8: patch register-arm64.h

    Fixes a compilation issue on some platforms
    
    PR-URL: nodejs#32116
    Reviewed-By: Michaël Zasso <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Ruben Bridgewater <[email protected]>
    refack authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    703bf93 View commit details
    Browse the repository at this point in the history
  7. 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 <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Ruben Bridgewater <[email protected]>
    refack authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    0c98864 View commit details
    Browse the repository at this point in the history
  8. 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 <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Ruben Bridgewater <[email protected]>
    joaocgreis authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    bbc3f46 View commit details
    Browse the repository at this point in the history
  9. deps: V8: silence irrelevant warnings

    PR-URL: nodejs#26685
    Reviewed-By: Anna Henningsen <[email protected]>
    Reviewed-By: Michaël Zasso <[email protected]>
    Reviewed-By: Refael Ackermann <[email protected]>
    
    PR-URL: nodejs#32116
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Ruben Bridgewater <[email protected]>
    targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    f6a8454 View commit details
    Browse the repository at this point in the history
  10. deps: patch V8 to run on Xcode 8

    Patch V8 (wasm/wasm-module.cc) to remove const qualifier from type
    passed to template call of `OwnedVector::Of`. Xcode 8 can't convert
    'OwnedVector<unsigned char>' to 'OwnedVector<const unsigned char>' when
    returning from a function (which is likely a bug on Xcode, considering
    this worked on the prior version of Xcode as well as newer versions).
    This workaround shouldn't affect the application, since the const
    qualifier is preserved in the AsmJsOffsetInformation::encoded_offset_.
    
    There's also a V8 test passing a const-qualified type to ::Of, but since
    we don't test V8 on Xcode 8, it should be fine to leave it as is.
    
    Signed-off-by: Matheus Marchini <[email protected]>
    
    PR-URL: nodejs#32116
    Reviewed-By: Michaël Zasso <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Ruben Bridgewater <[email protected]>
    mmarchini authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    f4b4e21 View commit details
    Browse the repository at this point in the history
  11. deps: update V8 postmortem metadata script

    This commit updates V8's gen-postmortem-metadata.py script
    to fix SmartOS compilation for V8 8.4.
    
    PR-URL: nodejs#33579
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Michael Dawson <[email protected]>
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Shelley Vohr <[email protected]>
    cjihrig authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    9ae7159 View commit details
    Browse the repository at this point in the history
  12. deps: update V8 postmortem metadata script

    This commit updates V8's gen-postmortem-metadata.py script to
    fix SmartOS compilation with V8 8.5.
    
    PR-URL: nodejs#35415
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Daniel Bevenius <[email protected]>
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Myles Borins <[email protected]>
    cjihrig authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    bd5642d View commit details
    Browse the repository at this point in the history
  13. deps: fix V8 build issue with inline methods

    PR-URL: nodejs#35415
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Daniel Bevenius <[email protected]>
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Myles Borins <[email protected]>
    gengjiawen authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    6200176 View commit details
    Browse the repository at this point in the history
  14. deps: V8: cherry-pick d76abfed3512

    Original commit message:
    
        [wasm-simd][arm64] fix cross compile arm64 on windows
    
        See: nodejs#35415
        Change-Id: I5d77ae202d4bbfb0971246fe5de9c0ad17c485ff
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2459491
        Reviewed-by: Tobias Tebbi <[email protected]>
        Auto-Submit: Jiawen Geng <[email protected]>
        Commit-Queue: Tobias Tebbi <[email protected]>
        Cr-Commit-Position: refs/heads/master@{#70444}
    
    Refs: v8/v8@d76abfe
    
    PR-URL: nodejs#35415
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Daniel Bevenius <[email protected]>
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Myles Borins <[email protected]>
    targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    f4fc099 View commit details
    Browse the repository at this point in the history
  15. deps: V8: cherry-pick 3176bfd447a9

    Original commit message:
    
        [heap-profiler] Fix crash when a snapshot deleted while taking one
    
        Fix a crash/hang that occurred when deleting a snapshot during the
        GC that is part of taking another one.
    
        Specifically, when deleting the only other snapshot in such
        a situation, the `v8::HeapSnapshot::Delete()` method sees that there
        is only one (complete) snapshot at that point, and decides that it is
        okay to perform “delete all snapshots” instead of just deleting
        the requested one. That resets the internal string lookup table
        of the heap profiler, but the new snapshot that is currently in
        progress still holds references to the old string lookup table,
        leading to a use-after-free segfault or infinite loop.
    
        Fix this by guarding against resetting the string table while
        another heap snapshot is being taken, and add a test that would
        crash before this fix.
    
        This can be triggered in Node.js by repeatedly calling
        `v8.getHeapSnapshot()`, which provides heap snapshots as weakly
        held host objects.
    
        Change-Id: If9ac3728bf79114000982f1e7bb05e8034299e3c
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2464823
        Reviewed-by: Ulan Degenbaev <[email protected]>
        Commit-Queue: Ulan Degenbaev <[email protected]>
        Cr-Commit-Position: refs/heads/master@{#70445}
    
    Refs: v8/v8@3176bfd
    
    PR-URL: nodejs#35612
    Refs: nodejs#35559
    Reviewed-By: Michaël Zasso <[email protected]>
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: Richard Lau <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Gireesh Punathil <[email protected]>
    Reviewed-By: Gerhard Stöbich <[email protected]>
    addaleax authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    0eb2528 View commit details
    Browse the repository at this point in the history
  16. deps: V8: cherry-pick 7b3a27b7ae65

    Original commit message:
    
        fix: correct calling convention for Windows on Arm
    
        Corrects a "Check failed: kFPParamRegisterCount == kParamRegisterCount"
        message when compiling v8_snapshot for Windows on Arm.
    
        Unlike x64, Windows on Arm's calling convention does not alternate
        between integer and float registers.
    
        Bug: chromium:1052746
        Change-Id: I4c9cdafcd6e43742b94613f85b2983761cc0891a
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2440717
        Commit-Queue: Maya Lekova <[email protected]>
        Reviewed-by: Jakob Gruber <[email protected]>
        Reviewed-by: Maya Lekova <[email protected]>
        Cr-Commit-Position: refs/heads/master@{#70257}
    
    Refs: v8/v8@7b3a27b
    
    PR-URL: nodejs#35700
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: Joyee Cheung <[email protected]>
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Shelley Vohr <[email protected]>
    targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    cd91ab5 View commit details
    Browse the repository at this point in the history
  17. deps: V8: cherry-pick 45e49775f5a3

    Original commit message:
    
        [arm64][msvc] fix arm64 build on msvc
    
        See: nodejs#35415 (comment)
    
        Co-authored-by: Richard Townsend <[email protected]>
        Change-Id: I440644f55dc8c8ec3108e5015ebbce2829dd8207
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2479602
        Reviewed-by: Jakob Gruber <[email protected]>
        Commit-Queue: Jakob Gruber <[email protected]>
        Auto-Submit: Jiawen Geng <[email protected]>
        Cr-Commit-Position: refs/heads/master@{#70648}
    
    Refs: v8/v8@45e4977
    
    PR-URL: nodejs#35700
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: Joyee Cheung <[email protected]>
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Shelley Vohr <[email protected]>
    targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    40b2fa4 View commit details
    Browse the repository at this point in the history
  18. deps: cherry-pick 9a49b22 from V8 upstream

    Original commit message:
      Fix alloc/dealloc size mismatch for v8::BackingStore
    
      On newer compilers the {operator delete} with explicit {size_t}
      argument would be instantiated for {v8::BackingStore} and used
      in the destructor of {std::unique_ptr<v8::BackingStore>}. The {size_t}
      argument is wrong though, since the pointer actually points
      to a {v8::internal::BackingStore} object.
      The solution is to explicitly provide a {operator delete}, preventing
      an implicitly generated {size_t} operator.
    
      Bug:v8:11081
    
      Change-Id: Iee0aa47a67f0e41000bea628942f7e3d70198b83
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2506712
      Commit-Queue: Ulan Degenbaev <[email protected]>
      Reviewed-by: Camillo Bruni <[email protected]>
      Cr-Commit-Position: refs/heads/master@{#70916}
    
    PR-URL: nodejs#35939
    Fixes: nodejs#35669
    Refs: v8/v8@9a49b22
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Michaël Zasso <[email protected]>
    Reviewed-By: Richard Lau <[email protected]>
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: Gus Caplan <[email protected]>
    danbev authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    59fe6e4 View commit details
    Browse the repository at this point in the history
  19. deps: V8: cherry-pick 821fb3883a8e

    Original commit message:
    
        [serializer] avoid deferring objects with embedder fields
    
        JS objects with embedder fields cannot be deferred because the
        serialize/deserialize callbacks need the back reference immediately
        to identify the object.
    
        Refs: nodejs/node-v8#175
        Bug: v8:11146
        Change-Id: I4292f2ab0041f7b0779620437ed26905c194cd9b
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2531195
        Reviewed-by: Jakob Gruber <[email protected]>
        Commit-Queue: Joyee Cheung <[email protected]>
        Cr-Commit-Position: refs/heads/master@{#71134}
    
    Refs: v8/v8@821fb38
    
    PR-URL: nodejs#35700
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: Joyee Cheung <[email protected]>
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Shelley Vohr <[email protected]>
    targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    15c91c6 View commit details
    Browse the repository at this point in the history
  20. deps: V8: cherry-pick 086eecbd96b6

    Original commit message:
    
        [platform] Add Permission::kNoAccessWillJitLater enum value
    
        This value is unused for now. This CL is part 1 of a 3-step dance.
        Part 2 will be teaching Chrome's Platform implementation to accept
        the new value. Part 3 will then actually use it in V8.
    
        Bug: chromium:1117591
        Change-Id: Ie3aed20d4cc58f3def3be2a3a03bba4c3a37bf44
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2450056
        Commit-Queue: Jakob Kummerow <[email protected]>
        Reviewed-by: Michael Lippautz <[email protected]>
        Cr-Commit-Position: refs/heads/master@{#70335}
    
    PR-URL: nodejs#35986
    Reviewed-By: Anna Henningsen <[email protected]>
    Reviewed-By: Richard Lau <[email protected]>
    Reviewed-By: Michael Dawson <[email protected]>
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Beth Griggs <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    oleavr authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    25a2d98 View commit details
    Browse the repository at this point in the history
  21. deps: V8: cherry-pick 4e077ff0444a

    Original commit message:
    
        [mac] Set MAP_JIT only when necessary
    
        This is a "minimal" change to achieve the required goal: seeing that
        there is only one place where we need to indicate that memory should
        be reserved with MAP_JIT, we can add a value to the Permissions enum
        instead of adding a second, orthogonal parameter.
        That way we avoid changing public API functions, which makes this CL
        easier to undo once we have platform-independent w^x in Wasm.
    
        Bug: chromium:1117591
        Change-Id: I6333d69ab29d5900c689f08dcc892a5f1c1159b8
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2435365
        Commit-Queue: Jakob Kummerow <[email protected]>
        Reviewed-by: Michael Lippautz <[email protected]>
        Reviewed-by: Clemens Backes <[email protected]>
        Cr-Commit-Position: refs/heads/master@{#70379}
    
    PR-URL: nodejs#35986
    Reviewed-By: Anna Henningsen <[email protected]>
    Reviewed-By: Richard Lau <[email protected]>
    Reviewed-By: Michael Dawson <[email protected]>
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Beth Griggs <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    oleavr authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    6024fa5 View commit details
    Browse the repository at this point in the history
  22. deps: V8: cherry-pick 1d0f426311d4

    Original commit message:
    
        [mac-arm64] Fix missing #include
    
        For an "#if defined(MAP_JIT)" test to work as expected, <sys/mman.h>
        must be included in the compilation unit.
    
        Bug: chromium:1144200
        Change-Id: Ia0bf35ec1872c02457f1fbc0ee6689c7f7d27d4a
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2517689
        Reviewed-by: Clemens Backes <[email protected]>
        Reviewed-by: Igor Sheludko <[email protected]>
        Reviewed-by: Nico Weber <[email protected]>
        Commit-Queue: Jakob Kummerow <[email protected]>
        Cr-Commit-Position: refs/heads/master@{#70986}
    
    PR-URL: nodejs#35986
    Reviewed-By: Anna Henningsen <[email protected]>
    Reviewed-By: Richard Lau <[email protected]>
    Reviewed-By: Michael Dawson <[email protected]>
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Beth Griggs <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    oleavr authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    b9ce4b4 View commit details
    Browse the repository at this point in the history
  23. src: fix v8 api deprecation

    PR-URL: nodejs#35700
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: Joyee Cheung <[email protected]>
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Shelley Vohr <[email protected]>
    gengjiawen authored and targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    6f9cbcf View commit details
    Browse the repository at this point in the history
  24. tools: update V8 gypfiles for 8.7

    PR-URL: nodejs#35700
    Reviewed-By: Rich Trott <[email protected]>
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: Joyee Cheung <[email protected]>
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Jiawen Geng <[email protected]>
    Reviewed-By: Shelley Vohr <[email protected]>
    targos committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    770d9e2 View commit details
    Browse the repository at this point in the history