Commit graph

1566 commits

Author SHA1 Message Date
Refael Ackermann
92c18c95dc
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: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-07-20 15:25:25 +02:00
Michaël Zasso
6cdd310275
deps: update V8 to 9.2.230.21
PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-07-20 15:24:51 +02:00
Michaël Zasso
de85b1ea95
deps: V8: backport 5c76da8ddcf8
Original commit message:

    [mips][wasm][liftoff] Fix compile failed

    Port 2b77ca200c56667c68895e49c96c10ff77834f09

    Bug: v8:11809

    Change-Id: Idbbbc10d1339d6c8463686b6e701fb601a217cab
    Reviewed-on: 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: 5c76da8ddc

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:48 +02:00
Michaël Zasso
8bb09f49c5
deps: V8: cherry-pick 359d44df4cdd
Original commit message:

    [riscv64] Fix build failed

    Port 2b77ca200c56667c68895e49c96c10ff77834f09

    Change-Id: Ie953a1d54f5529423ae35d1b1cd3ca25e8101c6e
    Reviewed-on: 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: 359d44df4c

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:46 +02:00
Michaël Zasso
4c06c40f4c
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: 2929661
    Reviewed-by: Junliang Yan <junyan@redhat.com>
    Commit-Queue: Milad Fa <mfarazma@redhat.com>
    Cr-Commit-Position: refs/heads/master@{#74886}

Refs: 3805a698f7

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:45 +02:00
Michaël Zasso
12aa11c524
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
    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: 2998582
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#75500}

Refs: 56fe020eec

Fixes: https://github.com/nodejs/node/issues/39327

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:44 +02:00
Michaël Zasso
12b55ed3dd
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: 2917612
    Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74881}

Refs: 2b77ca200c

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:43 +02:00
Michaël Zasso
ad53b582e1
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: 2919827
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74825}

Refs: 53784bdb8f

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:41 +02:00
Michaël Zasso
24a566c93b
deps: V8: cherry-pick cb4faa902e9f
Original commit message:

    Reland "[liftoff][arm64] Use 64 bit offset reg in mem op"

    This is a reland of f645d0b857bc669271adcbe95cf25e1554347dd4

    The issue was that converting an i64 to an i32 didn't clear the upper
    bits on arm64. This was not necessary before because we did the zero
    extension as part of the load operand, but this is required now that
    we use the full register.

    Original change's description:
    > [liftoff][arm64] Use 64 bit offset reg in mem op
    >
    > Accessing the Wasm memory with a 64 bit offset was truncated to 32 bit,
    > which is fine if we check bounds first, but not if we rely on the
    > trap handler to catch the OOB.
    >
    > R=clemensb@chromium.org
    >
    > Bug: v8:11587
    > Change-Id: I82a3a2906e55d9d640c30e770a5c93532e3a442c
    > Reviewed-on: 2808942
    > Reviewed-by: Clemens Backes <clemensb@chromium.org>
    > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#73829}

    Bug: v8:11587
    Change-Id: Ibc182475745c6f697a0ba6d75c260b74ddf8fe52
    Reviewed-on: 2810846
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73853}

Refs: cb4faa902e

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:39 +02:00
Michaël Zasso
e2148d7425
deps: patch V8 to 9.1.269.38
Refs: https://github.com/v8/v8/compare/9.1.269.36...9.1.269.38
Fixes: https://github.com/nodejs/node/issues/37553

PR-URL: https://github.com/nodejs/node/pull/39196
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-07-10 09:38:05 +02:00
Michaël Zasso
becfad1e6d
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: 2866771
    Reviewed-by: Victor Gomes <victorgomes@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74326}

Refs: fa4cb172cd

PR-URL: https://github.com/nodejs/node/pull/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>
2021-06-10 11:11:39 +02:00
Michaël Zasso
c678285498
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: 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: 4c07451639

PR-URL: https://github.com/nodejs/node/pull/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>
2021-06-10 11:11:34 +02:00
Michaël Zasso
e6f622f496
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: 2850162
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74223}

Refs: 5f44131944

PR-URL: https://github.com/nodejs/node/pull/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>
2021-06-10 11:11:29 +02:00
Michaël Zasso
cb97ec4a5b
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: 2844649
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74117}

Refs: 272445f109

PR-URL: https://github.com/nodejs/node/pull/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>
2021-06-10 11:11:24 +02:00
Michaël Zasso
5151d9d88d
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: 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: 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: c0fceaa066

PR-URL: https://github.com/nodejs/node/pull/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>
2021-06-10 11:11:06 +02:00
Michaël Zasso
0a04a9d633
deps: V8: cherry-pick d59db06bf542
Original commit message:

    [weakrefs] Remove --no-harmony-weak-refs flag

    Bug: v8:8179
    Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f
    Reviewed-on: 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: d59db06bf5

PR-URL: https://github.com/nodejs/node/pull/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>
2021-06-10 11:11:00 +02:00
Michaël Zasso
353ee7e1ae
deps: silence irrelevant V8 warnings
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-06-10 11:10:51 +02:00
Michaël Zasso
15800aadfc
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: 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: aaacffa1e0

PR-URL: https://github.com/nodejs/node/pull/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>
2021-06-10 11:10:44 +02:00
Jiawen Geng
5fcc318668
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/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>
2021-06-10 11:10:42 +02:00
Joao Reis
6e9ece547b
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: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-06-10 11:10:41 +02:00
Refael Ackermann
7ddbc9f2e5
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-06-10 11:10:39 +02:00
Refael Ackermann
869eec148c
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-06-10 11:10:37 +02:00
Refael Ackermann
9c1d90b750
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: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-06-10 11:10:33 +02:00
Michaël Zasso
a7cbf19a82
deps: update V8 to 9.1.269.36
PR-URL: https://github.com/nodejs/node/pull/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>
2021-06-10 11:10:13 +02:00
Michaël Zasso
464535b7a7
deps: patch V8 to 9.0.257.25
Refs: https://github.com/v8/v8/compare/9.0.257.24...9.0.257.25

PR-URL: https://github.com/nodejs/node/pull/38556
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-07 09:36:44 -07:00
Stephen Belanger
c8e4020a21 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: 2866771
    Reviewed-by: Victor Gomes <victorgomes@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74326}

Refs: fa4cb172cd

PR-URL: https://github.com/nodejs/node/pull/36394
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-06 15:17:47 -07:00
Stephen Belanger
041579800b 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: 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: 4c07451639

PR-URL: https://github.com/nodejs/node/pull/36394
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-06 15:17:46 -07:00
Stephen Belanger
53f86d52b6 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: 2850162
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74223}

Refs: 5f44131944

PR-URL: https://github.com/nodejs/node/pull/36394
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-06 15:17:44 -07:00
Stephen Belanger
774874d2d7 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: 2844649
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74117}

Refs: 272445f109

PR-URL: https://github.com/nodejs/node/pull/36394
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-06 15:17:42 -07:00
Stephen Belanger
50dd62ed96 deps: V8: backport 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: 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: 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: c0fceaa066

PR-URL: https://github.com/nodejs/node/pull/36394
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-06 15:17:35 -07:00
Michaël Zasso
69c57e99f0
deps: V8: cherry-pick fd75c97d3f56
Original commit message:

    [interpreter] Apply Reflect.apply transform in BytecodeGenerator

    Calls with a spread expression in a non-final position get transformed
    to calls to Reflect.apply. This transformation is currently done in
    the parser, which does not compose well with other features (e.g.
    direct eval checking, optional chaining).

    Do this transform in the BytecodeGenerator instead.

    Bug: v8:11573, v8:11558, v8:5690
    Change-Id: I56c90a2036fe5b43e0897c57766f666bf72bc3a8
    Reviewed-on: 2765783
    Auto-Submit: Shu-yu Guo <syg@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73534}

Refs: fd75c97d3f

PR-URL: https://github.com/nodejs/node/pull/38455
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-05-02 09:06:06 +02:00
Michaël Zasso
8b603697bc
deps: patch V8 to 9.0.257.24
Refs: https://github.com/v8/v8/compare/9.0.257.21...9.0.257.24

PR-URL: https://github.com/nodejs/node/pull/38423
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-28 13:14:47 -07:00
Michaël Zasso
3b86138f00
deps: patch V8 to 9.0.257.21
Refs: https://github.com/v8/v8/compare/9.0.257.19...9.0.257.21

PR-URL: https://github.com/nodejs/node/pull/38333
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-26 11:55:03 -07:00
Michaël Zasso
053aa6d213
deps: patch V8 to 9.0.257.19
Refs: https://github.com/v8/v8/compare/9.0.257.17...9.0.257.19

PR-URL: https://github.com/nodejs/node/pull/38270
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-04-21 17:55:16 +02:00
Michaël Zasso
8e80fc7ff8
deps: patch V8 to 9.0.257.17
Refs: https://github.com/v8/v8/compare/9.0.257.16...9.0.257.17

PR-URL: https://github.com/nodejs/node/pull/38237
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-14 16:51:35 -07:00
Michaël Zasso
5b358d57e1
deps: patch V8 to 9.0.257.16
Refs: https://github.com/v8/v8/compare/9.0.257.13...9.0.257.16

PR-URL: https://github.com/nodejs/node/pull/38218
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
2021-04-14 17:09:27 +02:00
Antoine du Hamel
2468e4ed3e
deps: V8: backport d59db06bf542
Original commit message:

    [weakrefs] Remove --no-harmony-weak-refs flag

    Bug: v8:8179
    Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f
    Reviewed-on: 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: d59db06bf5

PR-URL: https://github.com/nodejs/node/pull/38162
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-12 14:32:52 -07:00
cjihrig
ca13f7aaf3
deps: V8: cherry-pick 501482cbc704
Original commit message:

    Fix ValueDeserializer::ReadDouble() bounds check

    If end_ is smaller than sizeof(double), the result would wrap
    around, and lead to an invalid memory access.

    Refs: https://github.com/nodejs/node/issues/37978
    Change-Id: Ibc8ddcb0c090358789a6a02f550538f91d431c1d
    Reviewed-on: 2801353
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Commit-Queue: Marja Hölttä <marja@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73800}

PR-URL: https://github.com/nodejs/node/pull/38121
Fixes: https://github.com/nodejs/node/issues/37978
Refs: 501482cbc7
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2021-04-08 22:27:03 -04:00
Guy Bedford
8e46568b1e deps: backport v8 f19142e6
[top-level-await] Implement the new post-order requirement for
async subgraphs

Refs: f19142e613
PR-URL: https://github.com/nodejs/node/pull/37864
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-03-29 23:33:22 +02:00
Michaël Zasso
d639321acd
deps: patch V8 to 9.0.257.13
Refs: https://github.com/v8/v8/compare/9.0.257.11...9.0.257.13

PR-URL: https://github.com/nodejs/node/pull/37830
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-03-22 08:13:33 -07:00
Michaël Zasso
64d5be25ab
deps: V8: cherry-pick 1648e050cade
Original commit message:

    torque: workaround stod() limitations on Solaris

    std::stod() on Solaris does not currently handle hex strings.
    This commit provides a workaround based on strtol() until proper
    stod() support is available.

    This was encountered while updating Node.js to V8 8.8. For more
    details see the following comment:

    https://github.com/nodejs/node/pull/36139#issuecomment-740131942

    Change-Id: I16ed80a817f6d9105e7153b10824b1fee8520432
    Reviewed-on: 2692746
    Reviewed-by: Michael Stanton <mvstanton@chromium.org>
    Commit-Queue: Michael Stanton <mvstanton@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73255}

Refs: 1648e050ca

PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-03-15 15:56:08 +01:00
Michaël Zasso
621b544909
deps: silence irrelevant V8 warnings
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-03-15 15:56:04 +01:00
Jiawen Geng
0d78bc3101
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/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>
2021-03-15 15:55:52 +01:00
Joao Reis
5214918856
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: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-03-15 15:55:39 +01:00
Refael Ackermann
6b3caf77b2
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-03-15 15:55:32 +01:00
Refael Ackermann
d0a032fafb
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-03-15 15:55:25 +01:00
Refael Ackermann
c8b2fa642e
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: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-03-15 15:55:00 +01:00
Michaël Zasso
732ad99e47
deps: update V8 to 9.0.257.11
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-03-15 15:54:50 +01:00
cjihrig
8a6d7a09f2
deps: V8: cherry-pick 1648e050cade
Original commit message:

    torque: workaround stod() limitations on Solaris

    std::stod() on Solaris does not currently handle hex strings.
    This commit provides a workaround based on strtol() until proper
    stod() support is available.

    This was encountered while updating Node.js to V8 8.8. For more
    details see the following comment:

    https://github.com/nodejs/node/pull/36139#issuecomment-740131942

    Change-Id: I16ed80a817f6d9105e7153b10824b1fee8520432
    Reviewed-on: 2692746
    Reviewed-by: Michael Stanton <mvstanton@chromium.org>
    Commit-Queue: Michael Stanton <mvstanton@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73255}

Refs: 1648e050ca
PR-URL: https://github.com/nodejs/node/pull/37664
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-03-10 21:03:55 -05:00
Richard Lau
448de26d7b deps: V8: cherry-pick 373f4ae739ee
Original commit message:

    [torque] Don't replace unmodified empty files

    To improve incremental builds.

    Bug: v8:7793
    Change-Id: I6990a97e058d22d34acd1f609167cd30ca7518ad
    Reviewed-on: 2596789
    Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    Cr-Commit-Position: refs/heads/master@{#72053}

Refs: 373f4ae739

PR-URL: https://github.com/nodejs/node/pull/37505
Fixes: https://github.com/nodejs/node/issues/37368
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2021-02-25 09:48:00 +01:00