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

[v12.x] Backport update to V8 7.8 #30109

Closed
wants to merge 26 commits into from

Commits on Jan 7, 2020

  1. deps: update V8 to 7.8.279.23

    targos authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    049edeb View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    342fad2 View commit details
    Browse the repository at this point in the history
  3. deps: V8: fix filename manipulation for Windows

    PR-URL: nodejs#28016
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    refack authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    a063d11 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#26685
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Refael Ackermann <refack@gmail.com>
    refack authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    5fb5578 View commit details
    Browse the repository at this point in the history
  5. deps: V8: silence irrelevant warning

    PR-URL: nodejs#26685
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Refael Ackermann <refack@gmail.com>
    targos authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    1a5cbd3 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#27375
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    Reviewed-By: Refael Ackermann <refack@gmail.com>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    refack authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    05a5574 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#27375
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    Reviewed-By: Refael Ackermann <refack@gmail.com>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    refack authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    8630bfb View commit details
    Browse the repository at this point in the history
  8. deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_init

    `std::atomic_init<size_t>` is not implemented on all platforms.
    
    PR-URL: nodejs#27375
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    Reviewed-By: Refael Ackermann <refack@gmail.com>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    refack authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    41d22e1 View commit details
    Browse the repository at this point in the history
  9. deps: V8: add workaround for MSVC optimizer bug

    Refs: https://developercommunity.visualstudio.com/content/problem/512352/compiler-doesnt-finish-142027508.html
    
    PR-URL: nodejs#28016
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    refack authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    2719f09 View commit details
    Browse the repository at this point in the history
  10. deps: V8: fix BUILDING_V8_SHARED issues

    PR-URL: nodejs#27375
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    Reviewed-By: Refael Ackermann <refack@gmail.com>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    refack authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    88003f5 View commit details
    Browse the repository at this point in the history
  11. deps: V8: fix linking issue for MSVS

    PR-URL: nodejs#28016
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    refack authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    28a3845 View commit details
    Browse the repository at this point in the history
  12. tools: update V8 gypfiles

    until c6196ad7a2d601a4e1fdb313bfe2ec727fd67f7a
    
    Co-authored-by: Ujjwal Sharma <usharma1998@gmail.com>
    Co-authored-by: Michaël Zasso <targos@protonmail.com>
    
    PR-URL: nodejs#29694
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    targos authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    9d22556 View commit details
    Browse the repository at this point in the history
  13. assert: fix line number calculation after V8 upgrade

    PR-URL: nodejs#29694
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    targos authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    584ea2c View commit details
    Browse the repository at this point in the history
  14. tools: 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#29694
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    ryzokuken authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    534875b View commit details
    Browse the repository at this point in the history
  15. deps: V8: cherry-pick deac757

    Original commit message:
    
        [debugger] Fix code coverage for break/return inside switch-case
    
        Case statements have a list of statements associated with them, but are
        not blocks, and were hence not fixed-up correctly for code coverage.
        This CL also applies the fix-up to the "body" of case statements,
        in this way removing ranges reported as uncovered between the final
        break/return in a case and the next case (or end of function).
    
        Drive-by: Add optional pretty printing to code coverage test results.
    
        Change-Id: I5f4002d4e17b7253ed516d99f7c389ab2264be10
        Bug: v8:9705
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1798426
        Reviewed-by: Toon Verwaest <verwaest@chromium.org>
        Reviewed-by: Jakob Gruber <jgruber@chromium.org>
        Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#63719}
    
    Refs: v8/v8@deac757
    
    PR-URL: nodejs#29626
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Shelley Vohr <codebytere@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    bcoe authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    bc630ae View commit details
    Browse the repository at this point in the history
  16. deps: V8: cherry-pick 35c6d4d

    Original commit message:
    
        Make code generator python3.7 compatible (async keyword).
    
        Change-Id: Ifcd8b8cb1de60a007c7bbd4564d7869e83cb7109
    
    Fixes: nodejs#29548
    Refs:
    - nodejs#29548 (comment)
    - nodejs#29520
    - nodejs#29340
    - https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/1781351
    - https://chromium.googlesource.com/deps/inspector_protocol/+/35c6d4d0d80b42d81bd00bcb1eb2b1093c80ed0a
    
    PR-URL: nodejs#29585
    Refs: nodejs#29520
    Reviewed-By: Christian Clauss <cclauss@me.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    sam-github authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    4e6791b View commit details
    Browse the repository at this point in the history
  17. deps: V8: cherry-pick 716875d

    Original commit message:
    
        [build] Add message-template.h to build file
    
        This was missed during a file move and can cause build bugs.
    
        Bug: chromium:991547
        Change-Id: I157e7bb656956c08293c205c0d00884aecc7adee
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1798430
        Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
        Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
        Auto-Submit: Peter Marshall <petermarshall@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#63711}
    
    Refs: v8/v8@716875d
    
    PR-URL: nodejs#29694
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    MylesBorins committed Jan 7, 2020
    Copy the full SHA
    0648008 View commit details
    Browse the repository at this point in the history
  18. deps: V8: cherry-pick ed40ab1

    Original commit message:
    
        [regexp] Fix the order of named captures on the groups object
    
        Named capture properties on the groups object should be ordered by the
        capture index (and not alpha-sorted). This was accidentally broken in
        https://crrev.com/c/1687413.
    
        Bug: v8:9822,v8:9423
        Change-Id: Iac6f866f077a1b7ce557ba47e8ba5d7e7014b3ce
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864829
        Auto-Submit: Jakob Gruber <jgruber@chromium.org>
        Reviewed-by: Peter Marshall <petermarshall@chromium.org>
        Commit-Queue: Peter Marshall <petermarshall@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#64306}
    
    Refs: v8/v8@ed40ab1
    Fixes: nodejs#29878
    
    PR-URL: nodejs#30064
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    targos authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    aa215bf View commit details
    Browse the repository at this point in the history
  19. deps: V8: cherry-pick e5dbc95

    Original commit message:
    
        [api] Fix handle leak when getting Context embedder data
    
        The `Context::SlowGetAlignedPointerFromEmbedderData()` method returns
        a pointer, so the fact that it allocates handles is not obvious to
        the caller.
    
        Since this is the slow path anyway, simply add a handle scope inside
        of it.
    
        The tests are also modified to perform the same check for the
        `Object` equivalent of this method.
    
        Change-Id: I5f03c9a7b70b3a17315609df021606a53c9feb2d
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879902
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Commit-Queue: Yang Guo <yangguo@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#64583}
    
    Refs: v8/v8@e5dbc95
    Fixes: nodejs#30127
    PR-URL: nodejs#30130
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Gabriel Schulhof authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    23d792a View commit details
    Browse the repository at this point in the history
  20. deps: V8: cherry-pick 0a055086c377

    Original commit message:
    
        PPC: Using a scratch register under LoadRealStackLimit
    
        Change-Id: Id9e9142a8ff185309b91dcfff70dae8ccf8b5166
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1954244
        Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
        Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
        Cr-Commit-Position: refs/heads/master@{#65357}
    
    Refs: v8/v8@0a05508
    targos authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    5d4d74e View commit details
    Browse the repository at this point in the history
  21. deps: V8: cherry-pick a7dffcd767be

    Original commit message:
    
        [postmortem] Load files using utf-8 to support Python 3
    
        Change-Id: I174d38cc33210c07d1a7596627e1b2d21bb06313
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895560
        Reviewed-by: Mathias Bynens <mathias@chromium.org>
        Commit-Queue: Michaël Zasso <mic.besace@gmail.com>
        Cr-Commit-Position: refs/heads/master@{#64717}
    
    Refs: v8/v8@a7dffcd
    
    PR-URL: nodejs#30218
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: David Carlier <devnexen@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    cclauss authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    15794c9 View commit details
    Browse the repository at this point in the history
  22. deps: update V8's postmortem script

    This commit updates V8's postmortem metadata generation script
    to support V8 7.8.
    
    The following metadata has changed:
    
    - v8dbg_class_JSDate__value__Object
      - The postmortem metadata generation script needed to be
        updated. No action should be required by postmortem tools.
    
    - v8dbg_class_JSRegExp__source__Object
      - The postmortem metadata generation script needed to be
        updated. No action should be required by postmortem tools.
    
    PR-URL: nodejs#29694
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    cjihrig authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    003996d View commit details
    Browse the repository at this point in the history
  23. deps: patch V8 to be API/ABI compatible with 7.4 (from 7.5)

    Reverts v8/v8@1b51dca
    Reverts v8/v8@1ab717d
    Partially reverts v8/v8@b0077b3
    
    Backport-PR-URL: nodejs#29241
    Backport-PR-URL: nodejs#28955
    PR-URL: nodejs#28005
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
    targos authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    6b04ae9 View commit details
    Browse the repository at this point in the history
  24. deps: patch V8 to be API/ABI compatible with 7.4 (from 7.6)

    Reverts v8/v8@4214933.
    Reverts v8/v8@c76f377.
    Reverts v8/v8@e0d7f81.
    
    Co-authored-by: Anna Henningsen <anna@addaleax.net>
    Backport-PR-URL: nodejs#29241
    PR-URL: nodejs#28955
    2 people authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    7305a2d View commit details
    Browse the repository at this point in the history
  25. deps: patch V8 to be API/ABI compatible with 7.4 (from 7.7)

    Co-authored-by: Anna Henningsen <anna@addaleax.net>
    PR-URL: nodejs#29241
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    2 people authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    dbb2088 View commit details
    Browse the repository at this point in the history
  26. deps,src: patch V8 to be API/ABI compatible with 7.4 (from 7.8)

    deps: revert 2ac8bb719 from upstream V8
    
    Original commit message:
    
        profiler: Allow querying SnapshotObjectId for native objects
    
        - Adds regular native heap entries to the HeapObjectsMap.
        - Adds a side map for keeping a mapping of native objects to their canonical
          heap entry that they have been merged into.
    
        Change-Id: Ida00628126ded1948ceb2a0cbe14da817af7f361
        Bug: chromium:988350
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1720810
        Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
        Reviewed-by: Alexei Filippov <alph@chromium.org>
        Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#63140}
    
    Refs: v8/v8@2ac8bb7
    
    [The `SuppressMicrotaskExecutionScope` hack only works because
    the constructor that allows specifying an alternative microtask
    queue was never actually implemented.]
    
    deps: revert fb698cec37 from upstream V8
    
    Original commit message:
    
        [isolate-data] Move hot fields closer to isolate_root
    
        In generated code, we access fields inside IsolateData through the
        root-register. On some platforms it is significantly cheaper to access
        things that are close to the root-register value than things that are
        located far away. The motivation for this CL was a 5% difference in
        Octane/Mandreel scores between
    
        // Part of the stack check.
        cmpq rsp,[r13+0x9ea8]
    
        and
    
        cmpq rsp,[r13-0x30]  // Mandreel score improved by 5%.
    
        This moves the StackGuard up to fix Mandreel. As a drive-by, also move
        two more fields up that are accessed by each CallCFunction.
    
        Tbr: yangguo@chromium.org
        Bug: v8:9534,chromium:993264
        Change-Id: I5418b63d40274a138e285fa3c99b96e33a814fb1
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1751345
        Reviewed-by: Jakob Gruber <jgruber@chromium.org>
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Auto-Submit: Jakob Gruber <jgruber@chromium.org>
        Commit-Queue: Yang Guo <yangguo@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#63187}
    
    Refs: v8/v8@fb698ce
    
    src: re-add flags removed in V8 7.8 as no-ops
    addaleax authored and MylesBorins committed Jan 7, 2020
    Copy the full SHA
    91567d3 View commit details
    Browse the repository at this point in the history