Commit Graph

992 Commits

Author SHA1 Message Date
Chengzhong Wu
fbfa77b712
deps: V8: cherry-pick 0f9ebbc672c7
Original commit message:

    [flags] Remove --harmony-string-is-well-formed

    The String.prototype.isWellFormed and toWellFormed have shipped
    since M111.

    Bug: v8:13557
    Change-Id: I27e332d2fde0f9ea8ad649c016a84d2d3e0bf592
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4931269
    Reviewed-by: Shu-yu Guo <syg@chromium.org>
    Commit-Queue: Chengzhong Wu (legendecas) <legendecas@gmail.com>
    Cr-Commit-Position: refs/heads/main@{#90398}

Refs: 0f9ebbc672
PR-URL: https://github.com/nodejs/node/pull/50867
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2023-11-24 03:38:54 +00:00
Lu Yahan
0ee49c8620
deps: V8: cherry-pick 8f0b94671ddb
Original commit message:

    [gcc] Add include for TurboShaft

    Include <limits> for std::numeric_limits.

    Bug: chromium:819294
    Change-Id: I26a71ed4bad1858d2f5ed5d7dcd529e9cae60f37
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4889285
    Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
    Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#90347}

Refs: 8f0b94671d
PR-URL: https://github.com/nodejs/node/pull/50654
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-11-12 14:22:15 +00:00
Levi Zim
223853264b
deps: V8: cherry-pick 13192d6e10fa
Original commit message:

    [riscv][tagged-ptr] Convert more Objects to Tagged<>

    Port commit 064b9a7903b793734b6c03a86ee53a2dc85f0f80

    Bug: v8:12710

    Change-Id: If076ca5cd9e9d175c20fc3611e03d39c0260404d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4837830
    Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn>
    Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn>
    Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/main@{#89780}

Refs: 13192d6e10
PR-URL: https://github.com/nodejs/node/pull/50552
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2023-11-06 15:19:55 +00:00
Luke Albao
f6f681b62a
deps: V8: cherry-pick f7d000a7ae7b
Original commit message:

    [logging] Bugfix: LinuxPerfBasicLogger should log JS functions

    This patch fixes a typo that was introduced in commit
    c51041f45400928cd64fbc8f389c0dd0dd15f82f /
    https://chromium-review.googlesource.com/c/v8/v8/+/2336793, which reversed the behavior of the perf_basic_prof_only_functions flag.

    This also refactors the equivalent guard in LinuxPerfJitLogger to use the same inline CodeKind API for identifying JS Functions. This is unrelated to the bug, but it seems a fair rider to add on here.

    Bug: v8:14387
    Change-Id: I25766b0d45f4c65dfec5ae01e094a1ed94111054
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4954225
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#90501}

Refs: f7d000a7ae
PR-URL: https://github.com/nodejs/node/pull/50302
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
2023-10-23 15:27:33 +00:00
Joyee Cheung
00de2faf78
deps: V8: cherry-pick 25902244ad1a
Original commit message:

    [api] add line breaks to the output of Message::PrintCurrentStackTrace

    Previously this prints the stack trace without line breaks and it
    can be difficult to read. This also affects
    --abort-on-uncaught-exception. This patch adds line breaks to the
    output to improve readability.

    Change-Id: I4c44b529f8c829329f784b0859b1d13c9ec56838
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4925009
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/main@{#90360}

Refs: 25902244ad
PR-URL: https://github.com/nodejs/node/pull/50156
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
2023-10-15 16:30:13 +00:00
Michaël Zasso
4531c154e5
deps: V8: cherry-pick 8ec2651fbdd8
Original commit message:

    fix: EmbeddedTargetOs on IBM i with Python 3.9

    For some context, Python 3.9 on IBM i returns "os400" for sys.platform
    instead of "aix". We used to build with Python 3.6 which returned "aix"
    as the platform

    When attempting to build Node.js with python 3.9 on IBM i we run into a
    build error.

    Ref: https://github.com/nodejs/node/pull/48056
    Ref: https://github.com/nodejs/node/pull/48056#issuecomment-1553719508

    I'm not quite sure where target_os is being passed down to the function ToEmbeddedTargetOs.
    It seems as though target_os is being generated from sys.platform or
    similar call from python as we started running into this issue after
    building with Python 3.9.

    This PR supersedes initial changes proposed in:
    https://chromium-review.googlesource.com/c/v8/v8/+/4259330

    This PR contains the minimal changes to successfully build Node.js (builds v8 as an internal dep)
    on IBM i with Python 3.9.

    Change-Id: I32d43197bce994a72a0d85091e91f80eeea4482d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4846413
    Commit-Queue: Jakob Linke <jgruber@chromium.org>
    Reviewed-by: Michael Achenbach <machenbach@chromium.org>
    Reviewed-by: Jakob Linke <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#89981}

Refs: 8ec2651fbd
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:39 +02:00
Michaël Zasso
9ad0e2cacc
deps: V8: cherry-pick 89b3702c92b0
Original commit message:

    Reland^2 "[iterator-helpers] Unship due to incompat"

    This is a reland of commit bab67985346dbc0d566391ad561537b4554455b4

    Change since reland: A second breakage reported in chromium:1480783

    Original change's description:
    > Reland "[iterator-helpers] Unship due to incompat"
    >
    > This is a reland of commit 1a22cf9896d682a9dfca589f92ed97c7f875b8a2
    >
    > Change since revert: I mistakenly thought part of the finch
    > kill-switch playbook is to keep it enabled on ToT. It's actually
    > the opposite.
    >
    > Original change's description:
    > > [iterator-helpers] Unship due to incompat
    > >
    > > Bug: chromium:1474613, v8:13558
    > > Change-Id: Iccba26e5cd5dc1787172c78b6e4f6889ef67fcea
    > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4834350
    > > Reviewed-by: Adam Klein <adamk@chromium.org>
    > > Commit-Queue: Shu-yu Guo <syg@chromium.org>
    > > Cr-Commit-Position: refs/heads/main@{#89741}
    >
    > Bug: chromium:1474613, v8:13558
    > Change-Id: Idc421a114303f036622bff681c9fa252c9110b9d
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4843761
    > Commit-Queue: Rezvan Mahdavi Hezaveh <rezvan@chromium.org>
    > Auto-Submit: Shu-yu Guo <syg@chromium.org>
    > Commit-Queue: Shu-yu Guo <syg@chromium.org>
    > Reviewed-by: Rezvan Mahdavi Hezaveh <rezvan@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#89800}

    Bug: chromium:1474613, v8:13558
    Change-Id: Ia933c874508f1ec10ea4718c6378858cd5bec8f9
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4854732
    Reviewed-by: Rezvan Mahdavi Hezaveh <rezvan@chromium.org>
    Auto-Submit: Shu-yu Guo <syg@chromium.org>
    Commit-Queue: Rezvan Mahdavi Hezaveh <rezvan@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#89905}

Refs: 89b3702c92
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:37 +02:00
Michaël Zasso
dfc9c86868
deps: V8: cherry-pick de9a5de2274f
Original commit message:

    Ignore flags implied by --predictable during hash computation

    https://chromium-review.googlesource.com/c/v8/v8/+/4681766 added
    code to ignore --predictable during hash computation of flags
    in order to produce reproducible code cache. This turns out to
    be not enough since the flags implied by --predictable also
    need to be ignored for it to work. This patch makes sure that
    they are ignored.

    Change-Id: Ifa36641efe3ca105706fd293be46fc974055d2d4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4851287
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Patrick Thier <pthier@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#90022}

Refs: de9a5de227
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:35 +02:00
Michaël Zasso
186b36efba
deps: V8: cherry-pick b5b5d6c31bb0
Original commit message:

    Fix for no member named 'init_jmpbuf' on AIX

    In AIX, the system header file usr/include/sys/context.h file has jmpbuf redefined as __jmpbuf  which is creating the problem here.

    Change-Id: I4393e260092016315ac7559465684e3fdbba4900
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4868434
    Reviewed-by: Jakob Linke <jgruber@chromium.org>
    Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
    Cr-Commit-Position: refs/heads/main@{#90087}

Refs: b5b5d6c31b
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:33 +02:00
Michaël Zasso
867586ce95
deps: V8: cherry-pick 93b1a74cbc9b
Original commit message:

    Reland "[api] allow v8::Data as internal field"

    This is a reland of commit 0aa622e12893e9921c01a34ce9507b544e599c4a

    The original patch tried to run a test that calls exit() in the
    fatal error handler in parallel, which would not work. This marked
    the test with TEST() to avoid running it in parallel.

    Original change's description:
    > [api] allow v8::Data as internal field
    >
    > Previously only v8::Value can be stored as internal fields.
    > In some cases, however, it's necessary for the embedder to
    > tie the lifetime of a v8::Data with the lifetime of a
    > JS object, and that v8::Data may not be a v8::Value, as
    > it can be something returned from the V8 API. One way to
    > keep the v8::Data alive may be to use a v8::Persistent<v8::Data>
    > but that can easily lead to leaks.
    >
    > This patch changes v8::Object::GetInternalField() and
    > v8::Object::SetInernalField() to accept v8::Data instead of just
    > v8::Value, so that v8::Data can kept alive by a JS object in
    > a way that the GC can be aware of to address this problem.
    > This is a breaking change for embedders
    > using v8::Object::GetInternalField() as it changes the return
    > type. Since most v8::Value subtypes only support direct casts
    > from v8::Value but not v8::Data, calls like
    >
    > object->GetInternalField(index).As<v8::External>()
    >
    > needs to be updated to cast the value to v8::Value first:
    >
    > object->GetInternalField(index).As<v8::Value>().As<v8::External>()
    >
    > Bug: v8:14120
    > Change-Id: I731c958d1756b9d5ee4a3e78813416cd60d1b7ca
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4707972
    > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > Commit-Queue: Joyee Cheung <joyee@igalia.com>
    > Cr-Commit-Position: refs/heads/main@{#89718}

    Bug: v8:14120
    Change-Id: I3e45d09b5c300d5eefc73e380ef21ac2bd61760c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4834471
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#89824}

Refs: 93b1a74cbc
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:32 +02:00
Michaël Zasso
4ad3479ba7
deps: V8: cherry-pick 1a3ecc2483b2
Original commit message:

    Fix build issue, remove unneeded include uchar.h.

    Follow the conversation on:
    https://groups.google.com/g/v8-dev/c/nsbshwlmP3c.

    The `uchar.h` include is not necessary.
    It was added to get the definition of char16_t but that's an intrinsic
    type in C++.

    Change-Id: I0aaa11dba0be3ccad15b9e421f8bae71450d443b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4823404
    Reviewed-by: Omer Katz <omerkatz@chromium.org>
    Commit-Queue: Eric Leese <leese@chromium.org>
    Reviewed-by: Eric Leese <leese@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#89787}

Refs: 1a3ecc2483
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:29 +02:00
Michaël Zasso
660f902f16
deps: patch V8 to avoid duplicated zlib symbol
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:26 +02:00
Michaël Zasso
f7c1d410ad
deps: remove usage of a C++20 feature from V8
We are not ready to compile with C++20 support yet.
This is only a DCHECK that can be removed without affecting the behavior
of release builds.

PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:23 +02:00
Michaël Zasso
9c4030bfb9
deps: avoid compilation error with ASan
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=14221
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:21 +02:00
Michaël Zasso
5f05cc15e6
deps: disable V8 concurrent sparkplug compilation
It introduces process hangs on some platforms because Node.js doesn't
tear down V8 correctly.
Disable it while we work on a solution.

Refs: https://github.com/nodejs/node/issues/47297
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=13902
PR-URL: https://github.com/nodejs/node/pull/47450
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:17 +02:00
Michaël Zasso
42cd952dbd
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/45579
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/47251
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:03 +02:00
Michaël Zasso
88cf90f9c4
deps: always define V8_EXPORT_PRIVATE as no-op
dllexport introduces issues when compiling with MSVC.

PR-URL: https://github.com/nodejs/node/pull/47251
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:25:57 +02:00
Michaël Zasso
17c55d176b
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:25:44 +02:00
MatteoBax
16ac5e1ca8
zlib: fix discovery of cpu-features.h for android
Fixed cpu-features.h not found issue.

Co-Authored-By: Luigi Pinca <luigipinca@gmail.com>
Fixes: https://github.com/nodejs/node/issues/49766
PR-URL: https://github.com/nodejs/node/pull/49828
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-09-29 11:52:46 -04:00
Abdirahim Musse
3838b579e4
deps: V8: cherry-pick 8ec2651fbdd8
Original commit message:

    fix: EmbeddedTargetOs on IBM i with Python 3.9

    For some context, Python 3.9 on IBM i returns "os400" for sys.platform
    instead of "aix". We used to build with Python 3.6 which returned "aix"
    as the platform

    When attempting to build Node.js with python 3.9 on IBM i we run into a
    build error.

    Ref: https://github.com/nodejs/node/pull/48056
    Ref: https://github.com/nodejs/node/pull/48056#issuecomment-1553719508

    I'm not quite sure where target_os is being passed down to the function ToEmbeddedTargetOs.
    It seems as though target_os is being generated from sys.platform or
    similar call from python as we started running into this issue after
    building with Python 3.9.

    This PR supersedes initial changes proposed in:
    https://chromium-review.googlesource.com/c/v8/v8/+/4259330

    This PR contains the minimal changes to successfully build Node.js (builds v8 as an internal dep)
    on IBM i with Python 3.9.

    Change-Id: I32d43197bce994a72a0d85091e91f80eeea4482d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4846413
    Commit-Queue: Jakob Linke <jgruber@chromium.org>
    Reviewed-by: Michael Achenbach <machenbach@chromium.org>
    Reviewed-by: Jakob Linke <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#89981}

Refs: 8ec2651fbd
PR-URL: https://github.com/nodejs/node/pull/49862
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2023-09-27 19:26:01 +00:00
Joyee Cheung
c1dfaea3b7 deps: V8: backport de9a5de2274f
Original commit message:

    Ignore flags implied by --predictable during hash computation

    https://chromium-review.googlesource.com/c/v8/v8/+/4681766 added
    code to ignore --predictable during hash computation of flags
    in order to produce reproducible code cache. This turns out to
    be not enough since the flags implied by --predictable also
    need to be ignored for it to work. This patch makes sure that
    they are ignored.

    Change-Id: Ifa36641efe3ca105706fd293be46fc974055d2d4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4851287
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Patrick Thier <pthier@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#90022}

Refs: de9a5de227
PR-URL: https://github.com/nodejs/node/pull/49703
Refs: b33bf2dfd2
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-09-25 12:53:02 +00:00
Michaël Zasso
4e3983031a build: bump supported macOS and Xcode versions
- Bump macOS deployment target to 11.0
- Bump Xcode to 13

This is to ensure some level of support for C++20 features.
macOS 10.15 is no longer supported by Apple since September 2022.
Xcode 13 is the most recent version that can run on macOS 11, which
is the version we currently use to build releases.

Refs: https://developer.apple.com/xcode/cpp/#c++20

PR-URL: https://github.com/nodejs/node/pull/49164
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-09-12 15:14:13 -04:00
Joyee Cheung
668437ccad
deps: V8: cherry-pick b60a03df4ceb
Original commit message:

    [api] mark v8::Script and v8::UnboundScript as v8::Data

    v8::UnboundModuleScript and v8::Module are already v8::Data.
    Mark v8::Script and v8::UnboundScript as v8::Data so that they
    can be used in other V8 APIs that takes v8::Data.

    Refs: https://github.com/nodejs/node/pull/48510

    Bug: v8:14120
    Change-Id: I2dd5648528c1b0030292872441758d4fb2cfcc1c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4827307
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/main@{#89727}

Refs: b60a03df4c
PR-URL: https://github.com/nodejs/node/pull/49491
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Nitzan Uziely <linkgoron@gmail.com>
2023-09-12 10:04:27 +00:00
Joyee Cheung
f970087147
deps: V8: backport 93b1a74cbc9b
Original commit message:

    Reland "[api] allow v8::Data as internal field"

    This is a reland of commit 0aa622e12893e9921c01a34ce9507b544e599c4a

    The original patch tried to run a test that calls exit() in the
    fatal error handler in parallel, which would not work. This marked
    the test with TEST() to avoid running it in parallel.

    Original change's description:
    > [api] allow v8::Data as internal field
    >
    > Previously only v8::Value can be stored as internal fields.
    > In some cases, however, it's necessary for the embedder to
    > tie the lifetime of a v8::Data with the lifetime of a
    > JS object, and that v8::Data may not be a v8::Value, as
    > it can be something returned from the V8 API. One way to
    > keep the v8::Data alive may be to use a v8::Persistent<v8::Data>
    > but that can easily lead to leaks.
    >
    > This patch changes v8::Object::GetInternalField() and
    > v8::Object::SetInernalField() to accept v8::Data instead of just
    > v8::Value, so that v8::Data can kept alive by a JS object in
    > a way that the GC can be aware of to address this problem.
    > This is a breaking change for embedders
    > using v8::Object::GetInternalField() as it changes the return
    > type. Since most v8::Value subtypes only support direct casts
    > from v8::Value but not v8::Data, calls like
    >
    > object->GetInternalField(index).As<v8::External>()
    >
    > needs to be updated to cast the value to v8::Value first:
    >
    > object->GetInternalField(index).As<v8::Value>().As<v8::External>()
    >
    > Bug: v8:14120
    > Change-Id: I731c958d1756b9d5ee4a3e78813416cd60d1b7ca
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4707972
    > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > Commit-Queue: Joyee Cheung <joyee@igalia.com>
    > Cr-Commit-Position: refs/heads/main@{#89718}

    Bug: v8:14120
    Change-Id: I3e45d09b5c300d5eefc73e380ef21ac2bd61760c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4834471
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#89824}

Refs: 93b1a74cbc
PR-URL: https://github.com/nodejs/node/pull/49419
Refs: 0aa622e128
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2023-09-11 11:29:02 +00:00
Adam Majer
ba61c07501
deps: V8: cherry-pick eadaef581c29
Original commit message:

    Fix usage of MulHighS64 on <= z13

    mgrk is only available with MISC_INSTR_EXT2 installed.
    A runtime call needs to be made if it's unavailable.
    We also need to make sure caller saved registers are saved
    accordingly before making a call.

    Change-Id: If7ac06eef57cc3db059c2640b77c80de3b16fced
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4521297
    Reviewed-by: Junliang Yan <junyan@redhat.com>
    Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
    Cr-Commit-Position: refs/heads/main@{#87675}

Fixes: https://github.com/nodejs/node/issues/47064
PR-URL: https://github.com/nodejs/node/pull/49401
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2023-08-31 14:51:17 +00:00
Joyee Cheung
44027fbca8
deps: V8: cherry-pick 93275031284c
Original commit message:

    [cppgc] expose wrapper descriptor on CppHeap

    This makes it possible for embedders to:

    1. Avoid creating wrapper objects that happen to have a layout that
      leads V8 to consider the object cppgc-managed while it's not.
      Refs: https://github.com/nodejs/node/pull/43521
    2. Create cppgc-managed wrapper objects when they do not own the
       CppHeap. Refs: https://github.com/nodejs/node/pull/45704

    Bug: v8:13960
    Change-Id: If31f4d56c5ead59dc0d56f937494d23d631f7438
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4598833
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#88490}

Refs: 9327503128
PR-URL: https://github.com/nodejs/node/pull/48660
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2023-07-21 16:44:20 +02:00
Joyee Cheung
4a2e9bacab deps: V8: cherry-pick 9f4b7699f68e
Original commit message:

    Fix mistake in the skip branch of test/mjsunit/regress-1320641.js

    It was doing a `string.test(regex)` which was wrong. It's supposed
    to be `regex.test(string)`. It wasn't caught in the CI because
    the skip path is not normally taken in the V8 CI.

    Change-Id: Id1bdab5bbc41968bba8adc1cb3664e8f95fb5d72
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4697855
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#89044}

Refs: 9f4b7699f6
PR-URL: https://github.com/nodejs/node/pull/48830
Refs: c1a54d5ffc
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
2023-07-20 19:50:21 +00:00
Joyee Cheung
399dd8e6c4 deps: V8: cherry-pick c1a54d5ffcd1
Original commit message:

    Skip regress-1320641 when the system does not have enough memory

    Change-Id: I23a5232f6437c4bc77390796ee2986f1600cb1bf
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4689686
    Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/main@{#88973}

Refs: c1a54d5ffc
PR-URL: https://github.com/nodejs/node/pull/48830
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
2023-07-20 19:50:20 +00:00
Ivan Trubach
78e42e46ec
build: do not pass target toolchain flags to host toolchain
Fixes target toolchain arguments being passed to the host toolchain when
cross-compiling. For example, -m64 is not available on aarch64.

PR-URL: https://github.com/nodejs/node/pull/48597
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-07-12 14:57:05 +00:00
Chengzhong Wu
38dee8a1c0
src: distinguish HTML transferable and cloneable
The HTML structured serialize algorithm treats transferable and
serializable as two different bits. A web platform interface can be
both transferable and serializable.

Splits BaseObject::TransferMode to be able to compose the two bits
and distinguishes the transferable and cloneable.

PR-URL: https://github.com/nodejs/node/pull/47956
Refs: cf13b9b465
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
2023-07-07 17:00:00 +00:00
Keyhan Vakil
ce4102e8a5 deps: V8: cherry-pick 1a782f6543ae
Original commit message:

    [base] add build flag to use MADV_DONTFORK

    Embedders like Node.js and Electron expose fork(2)/execve(2) to their
    users. Unfortunately when the V8 heap is very large, these APIs become
    rather slow on Linux, due to the kernel needing to do all the
    bookkeeping for the forked process (in clone's dup_mmap and execve's
    exec_mmap). Of course, this is useless because the forked child thread
    will never actually need to access the V8 heap.

    Add a new build flag v8_enable_private_mapping_fork_optimization which
    marks all pages allocated by OS::Allocate as MADV_DONTFORK. This
    improves the performance of Node.js's fork/execve combination by 10x on
    a 600 MB heap.

    Fixed: v8:7381
    Change-Id: Ib649f774d4a932b41886313ce89acc369923699d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4602858
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#88447}

Refs: 1a782f6543
PR-URL: https://github.com/nodejs/node/pull/48523
Fixes: https://github.com/nodejs/node/issues/25382
Fixes: https://github.com/nodejs/node/issues/14917
Refs: https://github.com/nodejs/performance/issues/93
Refs: https://github.com/nodejs/performance/issues/89
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
2023-06-24 17:34:44 +00:00
Michaël Zasso
38d261ae66
deps: V8: cherry-pick 5f025d1ca2ca
Original commit message:

    [wasm] Fix deadlock in async wrapper compilation

    If compilation is cancelled while wrapper compilation is running, the
    tasks spawned for the {AsyncCompileJSToWasmWrapperJob} will return
    immediately, but {GetMaxConcurrency} will still return a positive
    value. Hence {Join()} will spawn another task, resulting in a
    livelock.

    We could fix this by checking for cancellation in {GetMaxConcurrency},
    but that requires taking the compilation state lock.
    So this CL fixes the issue by dropping the number of outstanding
    compilation units by to (basically) zero. We can't unconditionally drop
    to zero because another thread might concurrently execute a wrapper
    compilation and still call {CompleteUnit} afterwards. Hence only drop
    outstanding units by the amount of not-yet-started units.

    R=jkummerow@chromium.org

    Bug: v8:13858
    Change-Id: I5398ef370da2e7f212ca772fd1f87f659929dd6d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4437531
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#87143}

Refs: 5f025d1ca2
PR-URL: https://github.com/nodejs/node/pull/47610
Refs: https://github.com/nodejs/node/issues/47297
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-05-10 14:36:42 +02:00
Michaël Zasso
4b4a0c4d54
deps: V8: cherry-pick a8a11a87cb72
Original commit message:

    [wasm] Simplify CompileJSToWasmWrapperJob

    This CL merges some of AsyncCompileJSToWasmWrapperJob and
    CompileJSToWasmWrapperJob into a common base class. Both jobs now
    loop on a vector with an atomic index.

    Bug: chromium:1423615
    Change-Id: I7bb9cb2a57d8b659766c01e20e38d1b859d3a987
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4347597
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#86675}

Refs: a8a11a87cb
PR-URL: https://github.com/nodejs/node/pull/47610
Refs: https://github.com/nodejs/node/issues/47297
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-05-10 14:36:40 +02:00
Lu Yahan
4040a904de
deps: V8: cherry-pick 1b471b796022
Original commit message:

    [riscv] Using s8 as backtrack_stackpointer reg and optimize BranchShortHelper

    1. Fix incorrect backtrack_stackpointer reg.
    2. Optimize BranchShortHelper when comparing zero immediate.
    3. This is a workaround CL fix v8:13836

    Bug: v8:13836

    Change-Id: I4cfc9df92fcd38ecd448a41ee87d1e251efd4ad9
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4394942
    Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
    Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn>
    Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/main@{#86889}

Refs: 1b471b7960
PR-URL: https://github.com/nodejs/node/pull/47399
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-05-07 11:46:02 +00:00
Michaël Zasso
2a165505b7
deps: disable V8 concurrent sparkplug compilation
It introduces process hangs on some platforms because Node.js doesn't
tear down V8 correctly.
Disable it while we work on a solution.

Refs: https://github.com/nodejs/node/issues/47297
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=13902
PR-URL: https://github.com/nodejs/node/pull/47450
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-05-01 12:40:30 +02:00
Richard Lau
212821afdd
deps: V8: cherry-pick c5ab3e4f0c5a
Original commit message:

    libstdc++: fix incomplete type in v8::internal::is_subtype<T, U>

    Using std::convertible with incomplete types is UB. However, till
    GCC 12 it was accepted and std::convertible returned false.
    This fails now for e.g. v8::internal::WasmArray. Use
    std::disjunction and std::conjunction instead which are short-
    circuiting, because std::is_base_of<T, T> is already true.

    Bug: chromium:957519
    Change-Id: Ia26643dbdf0fb00d5586c71ae6b18e8d0f3cf96e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4394663
    Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#86904}

Refs: c5ab3e4f0c
PR-URL: https://github.com/nodejs/node/pull/47736
Fixes: https://github.com/nodejs/node/issues/47623
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2023-04-28 19:58:09 +00:00
Jiawen Geng
4bcb42c16c
deps: V8: cherry-pick 8e10685ff918
Original commit message:

    [build]: fix wrong name

    Change-Id: I504e836da1e36d7b9e504dbdbff8803363f08ccd
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4392064
    Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#86919}

Refs: 8e10685ff9
PR-URL: https://github.com/nodejs/node/pull/47440
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2023-04-11 19:19:17 +00:00
Michaël Zasso
7eb0ac3cb6 deps: patch V8 to support compilation on win-arm64
PR-URL: https://github.com/nodejs/node/pull/47251
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-03-31 14:15:29 +00:00
Michaël Zasso
a7c129f286 deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/45579
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/47251
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-03-31 14:15:28 +00:00
Michaël Zasso
6f5655a18e deps: always define V8_EXPORT_PRIVATE as no-op
dllexport introduces issues when compiling with MSVC.

PR-URL: https://github.com/nodejs/node/pull/47251
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-03-31 14:15:28 +00:00
Michaël Zasso
ab1614d280 build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/47251
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-03-31 14:15:25 +00:00
Richard Lau
ca5c6029fb
deps: V8: cherry-pick 3e4952cb2a59
Original commit message:

    [test] fix uninitialized error

    In op1a.Equals(&op3) call, that->parameter() is undefined.
    which triggers uninitialized error from gcc.

    Change-Id: I87f1fcba3e57adbb5a1e745a3d787c62a87fd1d3
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4307714
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#86267}

Refs: 3e4952cb2a
PR-URL: https://github.com/nodejs/node/pull/47236
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2023-03-28 10:47:10 -04:00
Debadree Chatterjee
8e203f1b03
deps: V8: cherry-pick 975ff4dbfd1b
Original commit message:

    fix GetPropertyNames for proxys with ownKeys trap

    Added checks to FilterProxyKeys function for when skip_indices is
    enabled.

    Bug: v8:13728
    Change-Id: Id096e32ef8e6c2344be9682e8222aea8790bd66d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4333698
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#86548}

Refs: 975ff4dbfd
PR-URL: https://github.com/nodejs/node/pull/47209
Fixes: https://github.com/nodejs/node/issues/41714
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Erick Wendel <erick.workspace@gmail.com>
2023-03-24 07:20:31 +00:00
Xu Meng
a3211e18b4
build,test: add proper support for IBM i
Python 3.9 on IBM i now properly returns "os400" for sys.platform
instead of claiming to be AIX as it did previously. While the IBM i PASE
environment is compatible with AIX, it is a subset and has numerous
differences which makes it beneficial to distinguish, however this means
that it now needs explicit support here.

PR-URL: https://github.com/nodejs/node/pull/46739
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-02-22 04:18:56 +00:00
Michaël Zasso
1d5058d4bb
deps: V8: cherry-pick 90be99fab31c
Original commit message:

    [intl] Revert date formatting behavior change from ICU 72

    Replace U+202F with U+0020 after formatting date. This lets websites
    continue to work without any changes.

    This matches Firefox behavior, according to
    https://bugzilla.mozilla.org/show_bug.cgi?id=1806042#c17.

    Bug: chromium:1414292, chromium:1401829, chromium:1392814
    Change-Id: I7c2b58414d0890f8705e737f903403dc54e5fe57
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4237675
    Commit-Queue: Adam Klein <adamk@chromium.org>
    Reviewed-by: Shu-yu Guo <syg@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#85757}

Refs: 90be99fab3
PR-URL: https://github.com/nodejs/node/pull/46646
Refs: https://github.com/nodejs/node/issues/46123
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2023-02-20 12:10:28 +00:00
Lu Yahan
94199c8ab6
deps: V8: cherry-pick e39af94dd18e
Original commit message:

    [riscv64] Fix failed: vector[] index out of

    GenPCRelativeJumpAndLink doesn't use BlockTrampolinePoolScope.
    It inserts a BlockTrampolinePool which causes this error.

    And also alter debug info format.

    Change-Id: I160f13f4261fdcf1f7978bfce9b5169d363e6a10
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4032016
    Commit-Queue: Yahan Lu <yahan@iscas.ac.cn>
    Reviewed-by: ji qiu <qiuji@iscas.ac.cn>
    Commit-Queue: ji qiu <qiuji@iscas.ac.cn>
    Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/main@{#84316}

Refs: e39af94dd1
PR-URL: https://github.com/nodejs/node/pull/46142
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-01-19 08:59:13 +00:00
Aaron Friel
71b9f79223
deps: V8: cherry-pick 30861a39323d
Original commit message:

    [debug] Re-enable internal [[Scopes]] property

    We received feedback that the [[Scopes]] property has some legitimate
    use-cases not covered by the Scopes View during pause.

    We re-enable the feature for now and will remove the flag in a
    follow-up.

    R=bmeurer@chromium.org

    Bug: chromium:1365858
    Change-Id: Ibf279ae6c4f5ae492d03e9b4ee7316f6500508d9
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4099385
    Auto-Submit: Simon Zünd <szuend@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Simon Zünd <szuend@chromium.org>
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#84800}

Refs: 30861a3932
PR-URL: https://github.com/nodejs/node/pull/45851
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-01-01 10:54:22 +00:00
Anna Henningsen
b66ae39c1e
deps: V8: backport 8ca9f77d0f7c
This fixes a crash when loading snapshots that contain empty
ArrayBuffer instances:

```js
const X = [];
X.push(new ArrayBuffer());
v8.startupSnapshot.setDeserializeMainFunction(() => {
  for (let i = 0; i < 1000000; i++) { // trigger GC
    X.push(new ArrayBuffer());
  }
})
```

Original commit message:

    [sandbox] Sandboxify JSArrayBuffer::extension external pointer

    Bug: chromium:1335043
    Change-Id: Id8e6883fc652b144f6380ff09b1c18e777e041c2
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3706626
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Commit-Queue: Samuel Groß <saelo@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#84544}

Refs: 8ca9f77d0f
PR-URL: https://github.com/nodejs/node/pull/45871
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-12-21 12:00:47 +00:00
Yagiz Nizipli
894aff75be
deps: V8: cherry-pick bc831f8ba33b
Original commit message:

    [fastcall] Implement support for onebyte string arguments

    This CL adds one byte string specialization support for fast API call arguments.
    It introduces a kOneByteString variant to CTypeInfo.

    We see a ~6x improvement in Deno's TextEncoder#encode microbenchmark.
    Rendered results: https://divy-v8-patches.deno.dev/

    Bug: chromium:1052746
    Change-Id: I47c3a9e101cd18ddc6ad58f627db3a34231b60f7
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4036884
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Reviewed-by: Maya Lekova <mslekova@chromium.org>
    Commit-Queue: Maya Lekova <mslekova@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#84552}

Refs: bc831f8ba3
PR-URL: https://github.com/nodejs/node/pull/45788
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
2022-12-10 14:23:50 +00:00
Michaël Zasso
d6dae7420e deps: V8: cherry-pick f1c888e7093e
Original commit message:

    [base] Fix SmartOS build

    That platform doesn't have `malloc_usable_size`.

    Refs: https://github.com/nodejs/node-v8/issues/239
    Change-Id: I011dd8449d02b27219a32cba00132cd068069f50
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4026402
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Michaël Zasso <mic.besace@gmail.com>
    Cr-Commit-Position: refs/heads/main@{#84256}

Refs: f1c888e709
PR-URL: https://github.com/nodejs/node/pull/45230
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>

# Conflicts:
#	common.gypi
PR-URL: https://github.com/nodejs/node/pull/45579
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-11-27 17:27:22 +00:00
Michaël Zasso
56c436533e deps: fix V8 build on Windows with MSVC
PR-URL: https://github.com/nodejs/node/pull/45579
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-11-27 17:27:19 +00:00
Michaël Zasso
51ab98c71b deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/45579
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-11-27 17:27:18 +00:00
Jiawen Geng
9f84d3eea8 deps: V8: fix v8-cppgc.h for MSVC
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=12661
Refs: https://github.com/nodejs/node/issues/42375

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
PR-URL: https://github.com/nodejs/node/pull/45579
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-11-27 17:27:17 +00:00
Jiawen Geng
f2318cd4b5 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>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/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>
PR-URL: https://github.com/nodejs/node/pull/45579
2022-11-27 17:27:16 +00:00
Yagiz Nizipli
649f68fc1e build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/45579
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-11-27 17:27:14 +00:00
Michaël Zasso
a97214497a
deps: V8: cherry-pick 2ada52cffbff
Original commit message:

    [intl] Enhance Date parser to take Unicode SPACE

    This is needed to prepare for the landing of ICU72.
    Allow U+202F in the Date String, which the toLocaleString("en-US")
    will generate w/ ICU72.

    Bug: v8:13494
    Change-Id: I41b83c4094ce3d0737a72dcd6310b52c68fdcdca
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4027341
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Jungshik Shin <jshin@chromium.org>
    Commit-Queue: Frank Tang <ftang@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#84308}

Refs: 2ada52cffb
Fixes: https://github.com/nodejs/node/issues/45171
PR-URL: https://github.com/nodejs/node/pull/45573
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2022-11-24 10:41:02 +00:00
Yagiz Nizipli
7e7c0ded64 deps: V8: cherry-pick 9df5ef70ff18
Original commit message:

    Add an `v8::ArrayBuffer::WasDetached` method to the C++ API

    V8's C++ API does not give a way to tell whether an ArrayBuffer has
    been detached from the `v8::ArrayBuffer` class. In fact, as far as can
    be told from the C++ API without running JS code, detached
    ArrayBuffers behave the same as zero-sized ArrayBuffers and there is
    no way to observe the difference. However, this difference can be
    observed in JS because constructing a TypedArray from a detached
    ArrayBuffer will throw.

    This change adds a `WasDetached` method to the `v8::ArrayBuffer` class
    to give embedders access to this information without having to run JS
    code.

    Bug: v8:13159
    Change-Id: I2bb1e380cee1cecd31f6d48ec3d9f28c03a8a673
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810345
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83963}

Refs: 9df5ef70ff
PR-URL: https://github.com/nodejs/node/pull/45474
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/45230
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2022-11-19 09:11:40 +00:00
Michaël Zasso
3b39e386a1 deps: V8: cherry-pick f1c888e7093e
Original commit message:

    [base] Fix SmartOS build

    That platform doesn't have `malloc_usable_size`.

    Refs: https://github.com/nodejs/node-v8/issues/239
    Change-Id: I011dd8449d02b27219a32cba00132cd068069f50
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4026402
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Michaël Zasso <mic.besace@gmail.com>
    Cr-Commit-Position: refs/heads/main@{#84256}

Refs: f1c888e709
PR-URL: https://github.com/nodejs/node/pull/45230
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2022-11-19 09:11:39 +00:00
Michaël Zasso
219bc4bb86 deps: V8: cherry-pick 92a7385171bb
Original commit message:

    [heap] Fix 32bit msvc builds

    Size of ActiveSystemPages is 8 bytes even on 32bit builds, thus
    forcing 8 bytes alignment for MemoryChunk.

    Change-Id: I5ca1e18329d6e68a8b6811c3c27cb224c765cb63
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3966953
    Commit-Queue: Omer Katz <omerkatz@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83845}

Refs: 92a7385171
PR-URL: https://github.com/nodejs/node/pull/45230
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2022-11-19 09:11:38 +00:00
Michaël Zasso
4db47f28f0 deps: fix V8 build on Windows with MSVC
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/45230
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2022-11-19 09:11:38 +00:00
Michaël Zasso
1cf4ad7ebe deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/45230
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2022-11-19 09:11:37 +00:00
Jiawen Geng
cecad3b56c deps: V8: fix v8-cppgc.h for MSVC
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=12661
Refs: https://github.com/nodejs/node/issues/42375

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
PR-URL: https://github.com/nodejs/node/pull/45230
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2022-11-19 09:11:36 +00:00
Jiawen Geng
49217b58ea 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>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/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>
PR-URL: https://github.com/nodejs/node/pull/45230
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2022-11-19 09:11:35 +00:00
Michaël Zasso
4eb2f21a1c build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/45230
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2022-11-19 09:11:34 +00:00
Stefan Stojanovic
1f63c953e6
Revert "build: remove precompiled header and debug information for host builds"
This reverts commit 818284b687.

Reverted commit is a no longer needed patch for ARM64 cross-compiling.
It was increasing cross-compile time drastically (~3 times longer).

PR-URL: https://github.com/nodejs/node/pull/45432
Refs: https://github.com/nodejs/node/pull/42538
Refs: https://github.com/nodejs/node/issues/42375
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
2022-11-18 19:41:01 +00:00
Yagiz Nizipli
5b8b92176e
deps: V8: cherry-pick 9df5ef70ff18
Original commit message:

    Add an `v8::ArrayBuffer::WasDetached` method to the C++ API

    V8's C++ API does not give a way to tell whether an ArrayBuffer has
    been detached from the `v8::ArrayBuffer` class. In fact, as far as can
    be told from the C++ API without running JS code, detached
    ArrayBuffers behave the same as zero-sized ArrayBuffers and there is
    no way to observe the difference. However, this difference can be
    observed in JS because constructing a TypedArray from a detached
    ArrayBuffer will throw.

    This change adds a `WasDetached` method to the `v8::ArrayBuffer` class
    to give embedders access to this information without having to run JS
    code.

    Bug: v8:13159
    Change-Id: I2bb1e380cee1cecd31f6d48ec3d9f28c03a8a673
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810345
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83963}

Refs: 9df5ef70ff
PR-URL: https://github.com/nodejs/node/pull/45474
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-11-18 09:46:49 +00:00
Shi Pujin
8a465a2e3c
deps: V8: cherry-pick 56816d76c121
Original commit message:

    [loong64] Supplement a LoongArch support in include/v8config.h

    Change-Id: I658c1b781163bcd3ca39bfceb74aef9d255247b8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3894795
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: Liu Yu <liuyu@loongson.cn>
    Cr-Commit-Position: refs/heads/main@{#83374}

PR-URL: https://github.com/nodejs/node/pull/45353
Refs: 56816d76c1
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2022-11-08 14:26:48 +00:00
Michaël Zasso
466d36ebac
Revert "deps: make V8 compilable with older glibc"
This reverts commit 84d455e08e.

PR-URL: https://github.com/nodejs/node/pull/45162
Refs: https://github.com/nodejs/node/issues/45118
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-27 09:34:32 +00:00
Michaël Zasso
c6c18a9a24
Revert "deps: V8: forward declaration of Rtl*FunctionTable"
This reverts commit 01bc8e6fd8.

PR-URL: https://github.com/nodejs/node/pull/45119
Refs: https://github.com/nodejs/node/issues/45118
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2022-10-25 05:58:35 +00:00
Jiawen Geng
0be1c57281
deps: V8: cherry-pick c2792e58035f
Original commit message:

    [base] Fix build with gcc-13

    See https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes.

    Also see Gentoo Linux bug report: https://bugs.gentoo.org/865981

    Change-Id: I421f396b02ba37e12ee70048ee33e034f8113566
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3934140
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: Simon Zünd <szuend@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83587}

Refs: c2792e5803
PR-URL: https://github.com/nodejs/node/pull/44961
Fixes: https://github.com/nodejs/node/issues/43642
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2022-10-14 01:54:33 +00:00
Michaël Zasso
488474618c deps: V8: cherry-pick c3dffe6e2bda
Original commit message:

    [api] Expose parsed module source map urls

    Source map urls can be parsed from the magic comments. Expose them with
    public apis on the UnboundModuleScript, similar to the UnboundScript.

    Change-Id: Ia5dfdc8ff25f825c9fa7d241d0d79ba20028586b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3917379
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Commit-Queue: Chengzhong Wu (legendecas) <legendecas@gmail.com>
    Cr-Commit-Position: refs/heads/main@{#83527}

Refs: c3dffe6e2b
PR-URL: https://github.com/nodejs/node/pull/44958
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2022-10-13 06:49:36 +00:00
Michaël Zasso
34ba631a0b deps: V8: cherry-pick e7f0f26f5ef3
Original commit message:

    Don't run sampling-heap-profiler-flags with stress-incremental-marking

    This test observes GC behavior and needs the garbage collector to work
    in a somewhat predictable way.

    Bug: v8:13286
    Change-Id: I24e6a4f33a644b5f1845cd34558da03fc196f7e5
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3898721
    Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    Reviewed-by: Simon Zünd <szuend@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83218}

Refs: e7f0f26f5e
PR-URL: https://github.com/nodejs/node/pull/44958
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2022-10-13 06:49:35 +00:00
Michaël Zasso
690a837f4f deps: V8: cherry-pick 3d59a3c2c164
Original commit message:

    Add option to report discarded allocations in sampling heap profiler

    A couple of customers have asked about using devtools to get information
    about temporary allocations, with the goal of reducing GC time and/or
    peak memory usage. Currently, the sampling heap profiler reports only
    objects which are still alive at the end of the profiling session. In
    this change, I propose adding configuration options when starting the
    sampling heap profiler so that it can optionally include information
    about objects which were discarded by the GC before the end of the
    profiling session. A user could run the sampling heap profiler in
    several different modes depending on their goals:

    1. To find memory leaks or determine which functions contribute most to
       steady-state memory consumption, the current default mode is best.
    2. To find functions which cause large temporary memory spikes or large
       GC pauses, the user can request data about both live objects and
       those collected by major GC.
    3. To tune for minimal GC activity in latency-sensitive applications
       like real-time audio processing, the user can request data about
       every allocation, including objects collected by major or minor GC.
    4. I'm not sure why anybody would want data about objects collected by
       minor GC and not objects collected by major GC, but it's also a valid
       flags combination.

    Change-Id: If55d5965a1de04fed3ae640a02ca369723f64fdf
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3868522
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Reviewed-by: Simon Zünd <szuend@chromium.org>
    Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    Cr-Commit-Position: refs/heads/main@{#83202}

Refs: 3d59a3c2c1
PR-URL: https://github.com/nodejs/node/pull/44958
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2022-10-13 06:49:33 +00:00
Michaël Zasso
bab8b3aad6 deps: V8: cherry-pick 8b8703953616
Original commit message:

    [API] Remove second OnCriticalMemoryPressure

    Remove the deprecated OnCriticalMemoryPressure method with receives an
    informative parameter.

    R=mlippautz@chromium.org

    Bug: chromium:634547
    Change-Id: I932c3b5030291294dd340362f0b20d374e3067c0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3780533
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83254}

Refs: 8b87039536
PR-URL: https://github.com/nodejs/node/pull/44958
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2022-10-13 06:49:32 +00:00
Michaël Zasso
66fe446efd
deps: V8: cherry-pick 0cccb6f27d78
Original commit message:

    [msvc] fix missing include <optional>

    clang/clang-cl compiled happily (probably included transitively this
    header), but not MSVC.

    Bug: v8:13312

    Change-Id: I69b6c15f76d8ef13e4fac33f733717429ba96f71
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3913033
    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83402}

Refs: 0cccb6f27d
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-11 07:27:04 +02:00
Michaël Zasso
88ed027d57
deps: V8: cherry-pick 7ddb8399f9f1
Original commit message:

    [msvc] fix ambiguous call to function in assembler test

    MSVC is confused by initializer list and default parameter, and reports
    an ambiguous call.

    test/cctest/test-assembler-arm64.cc(12208): error C2668: 'v8::internal::Clobber': ambiguous call to overloaded function
    test-utils-arm64.h(251): note: could be 'void v8::internal::Clobber(v8::internal::MacroAssembler *,v8::internal::CPURegList)'
    test-utils-arm64.h(241): note: or       'void v8::internal::Clobber(v8::internal::MacroAssembler *,v8::internal::RegList,const uint64_t)'

    Solution is to construct with explicit type.

    Bug: v8:13312
    Change-Id: I66f5ba48bcdf6eb30035beaf7214a3d26fc9f18b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3913034
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83406}

Refs: 7ddb8399f9
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-11 07:26:59 +02:00
Michaël Zasso
26c651c34e
deps: V8: cherry-pick 1b3a4f0c34a1
Original commit message:

    [msvc] fix build with neon intrinsics

    This compilation error was found by NodeJS when updating V8:
    https://github.com/nodejs/node-v8/issues/240

    MSVC reports an error with "too many initializer" for type uint32x4_t.

    ---

    Under gcc/clang, this is a typedef to a builtin type.

    For MSVC, it is a typedef to this union:
    typedef union __n128
    {
         unsigned __int64   n128_u64[2];
         unsigned __int32   n128_u32[4];
         ...
    } __n128;

    C++ mandates that only first member of union can be initialized at
    declaration. Thus, it can only be initialized with {uint64_t, uint64_t}.

    VS people proposed to use designated initializer instead:
    var = {.n128_u32={1, 2, 3, 8}}
    https://developercommunity.visualstudio.com/t/error-c2078-too-many-initializers-when-using-arm-n/402911
    But, you need to use /std:c++20 for this, which is not the case in v8.

    ---

    Thus, the only solution is to implement a hack specifically for MSVC,
    where you build two uint64, from four uint32.

    ---------------------------------------

    Once solved, another error is reported:
    templated function extract_first_nonzero_index is specialized twice.

    This is because, with MSVC, uint32x4_t and uint64x2_t are typedef to the
    same __n128 union. The fix is to drop templates, and use explicit
    function names instead.

    Bug: v8:13312
    Change-Id: I231d8cf01c05af01af319d56d5666c415f8b989b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3913035
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83404}

Refs: 1b3a4f0c34
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-11 07:26:51 +02:00
Michaël Zasso
c8ff2dfd11
deps: V8: cherry-pick b161a0823165
Original commit message:

    [msvc] implement symbols without inline assembly

    MSVC does not support inline assembly (clang-cl does).

    Those two functions needs to be implemented using C++ only. Implemented
    a version for MSVC only, based on an intrinsic (that guarantees load,
    even with optimization) available for any architecture.

    Bug: v8:13312
    Change-Id: I3aa4eac03c099535c5d3a9a40221bd5f8bbcb0d1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3913036
    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83407}

Refs: b161a08231
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-11 07:26:44 +02:00
Michaël Zasso
7a8fa2d517
deps: fix V8 build on Windows with MSVC
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-11 07:26:38 +02:00
Michaël Zasso
83b0aaa800
deps: fix V8 build on SmartOS
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-11 07:26:33 +02:00
Michaël Zasso
7a952e8ea5
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-11 07:26:28 +02:00
Michaël Zasso
84d455e08e
deps: make V8 compilable with older glibc
Remove call to `memfd_create`.
The function that references it is only used for V8 testing.

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-10-11 07:26:19 +02:00
Jiawen Geng
0cc81f0aa4
deps: V8: fix v8-cppgc.h for MSVC
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=12661
Refs: https://github.com/nodejs/node/issues/42375

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-10-11 07:26:04 +02:00
Jiawen Geng
eac4bbded1
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>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/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>
2022-10-11 07:25:56 +02:00
Refael Ackermann
01bc8e6fd8
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>
2022-10-11 07:25:35 +02:00
Michaël Zasso
06aaf8a1c4
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-11 07:24:50 +02:00
Ben Noordhuis
8a15f32d07
Revert "build: go faster, drop -fno-omit-frame-pointer"
This reverts commit d0f73d383d.

The lack of frame pointers unfortunately breaks the --perf_basic_prof
flag because perf(1) then no longer understands C++ <-> JS stack frame
transitions.

PR-URL: https://github.com/nodejs/node/pull/44566
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2022-09-08 17:52:10 +00:00
Ben Noordhuis
d0f73d383d
build: go faster, drop -fno-omit-frame-pointer
This flag was added back in 2013 to support postmortem debugging on
Linux but it has a pretty bad impact on performance (up to 10%) and
I don't think it's actually necessary to get meaningful stack traces.
Maybe with mdb but gdb and lldb seem to manage just fine.

Even if the flag is necessary for postmortem debugging, I don't think
it's appropriate to make performance for all users suffer for the
benefit of a fringe group.

PR-URL: https://github.com/nodejs/node/pull/44452
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
2022-09-02 03:47:42 +00:00
Michaël Zasso
767a78a2c6
deps: V8: backport ff8d67c88449
Original commit message:

    Reland "Fix Context PromiseHook behaviour with debugger enabled"

    This is a reland of commit 872b7faa32d837f9b166d750328357f856168e72

    Original change's description:
    > Fix Context PromiseHook behaviour with debugger enabled
    >
    > This is a solution for https://github.com/nodejs/node/issues/43148.
    >
    > Due to differences in behaviour between code with and without the debugger enabled, some promise lifecycle events were being missed and some extra ones were being added. This change resolves this and verifies the event sequence is consistent between code with and without the debugger.
    >
    > Change-Id: I3dabf1dceb14233226b1752083d659f1c2f97966
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3779922
    > Reviewed-by: Victor Gomes <victorgomes@chromium.org>
    > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#82132}

    Change-Id: Ifdd407261c793887fbd012d5a04ba36b3744c349
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3805979
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Reviewed-by: Victor Gomes <victorgomes@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82575}

Refs: ff8d67c884
Fixes: https://github.com/nodejs/node/issues/43148
Fixes: https://github.com/nodejs/node/issues/44415
PR-URL: https://github.com/nodejs/node/pull/44423
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
2022-09-01 08:15:49 +00:00
Milad Fa
90c758c59e
deps: V8: cherry-pick 9861ce1deae2
Original commit message:

    PPC: pass a scratch reg when using register_location

    Change-Id: I43e4a4cadc60e958d6c9d80e725a49a3e36d8ba9
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3797832
    Reviewed-by: Junliang Yan <junyan@redhat.com>
    Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
    Cr-Commit-Position: refs/heads/main@{#82146}

Fixes: https://github.com/nodejs/node/issues/44055
PR-URL: https://github.com/nodejs/node/pull/44115
Refs: 9861ce1dea
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-08-05 18:41:31 -04:00
Keyhan Vakil
9916ef813b
deps: cherry-pick 00704f5a from V8 upstream
Original commit message:

    Add more efficient API for accesssing ArrayBuffer raw data

    Raw data access is already possible via GetBackingStore()->GetData().
    This API exposes a more efficient way for accessing
    JSArrayBuffer::backing_store (which, despite the confusing name, is no
    the BackingStore but its raw data pointer).

    Bug: v8:10343
    Change-Id: I695cea91e2c3de75ce6c86bac6e413ce6617958b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3764341
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Commit-Queue: Marja Hölttä <marja@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#81745}

Refs: 00704f5a03
Refs: https://github.com/nodejs/node/issues/32226

PR-URL: https://github.com/nodejs/node/pull/43921
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Feng Yu <F3n67u@outlook.com>
2022-07-26 23:38:16 +01:00
Ben Noordhuis
aa3a572e6b
build: remove dtrace & etw support
There are no clear indicators anyone is using the dtrace USDT probes.

ETW support is very intertwined with the dtrace infrastructure. It's not
clear if anyone uses ETW so to keep things simple it too is removed.

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

PR-URL: https://github.com/nodejs/node/pull/43652
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
2022-07-17 17:33:52 +01:00
legendecas
786f32d185
deps: V8: backport 22698d267667
Original commit message:

    [module] Fix aborts in terminated async module evaluation

    SourceTextModule::ExecuteAsyncModule asserts the execution of
    the module's async function to succeed without exception. However,
    the problem is that TerminateExecution initiated by embedders is
    breaking that assumption. The execution can be terminated with an
    exception and the exception is not catchable by JavaScript.

    The uncatchable exceptions during the async module evaluation need
    to be raised to the embedder and not crash the process if possible.

    Refs: https://github.com/nodejs/node/issues/43182

    Change-Id: Ifc152428b95945b6b49a2f70ba35018cfc0ce40b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3696493
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Commit-Queue: Chengzhong Wu <legendecas@gmail.com>
    Cr-Commit-Position: refs/heads/main@{#81307}

Refs: 22698d2676

PR-URL: https://github.com/nodejs/node/pull/43751
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
2022-07-14 00:47:27 +08:00
Michaël Zasso
8d0bbf934f
deps: make V8 10.2 ABI-compatible with 10.1
Create an unused deopt kind to replace `DeoptimizeKind::kSoft`, which
was removed. This ensures that the layout of IsolateData doesn't change.

Refs: 1ff685d8b1

PR-URL: https://github.com/nodejs/node/pull/42740
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2022-04-21 11:56:00 +02:00
Michaël Zasso
421fd079a2
deps: make V8 compilable with older glibc
Remove call to `memfd_create`.
The function that references it is only used for V8 testing.

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-21 11:55:14 +02:00
Jiawen Geng
5820d145ad
deps: V8: fix v8-cppgc.h for MSVC
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=12661
Refs: https://github.com/nodejs/node/issues/42375

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-21 11:55:07 +02:00
Michaël Zasso
c237c377ac
deps: silence V8's warning on CompileFunction
We are not ready to migrate yet.

Refs: https://github.com/nodejs/node-v8/issues/214

PR-URL: https://github.com/nodejs/node/pull/40907
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-04-21 11:54:58 +02:00
Michaël Zasso
7e325bc23f
deps: disable trap handler for Windows cross-compiler
`handler-outside-simulator.cc` uses inline assembly, which is not
supported by MSVC.

PR-URL: https://github.com/nodejs/node/pull/40488
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-04-21 11:54:51 +02:00
Jiawen Geng
7ac206f75f
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>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/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>
2022-04-21 11:54:45 +02:00
Refael Ackermann
11bccb8771
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>
2022-04-21 11:54:37 +02:00
Refael Ackermann
d8b4a7edae
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>
Co-Authored-By: Richard Lau <rlau@redhat.com>
2022-04-21 11:54:30 +02:00
Michaël Zasso
956308d6fb
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/42740
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2022-04-21 11:54:18 +02:00
Michaël Zasso
58f3fdcccd
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: b2978927d8
Refs: f52f934119
Refs: 38940b7098
Refs: da5b5f66a6
Refs: ffae028b37
Refs: f6386018d4
Refs: a8beac553b
Refs: cff2b5000a
Refs: 9238afb0c0
Refs: ca51ae3ac8

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:34 +02:00
Michaël Zasso
eba7d2db7f
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: ad21d212fc

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:29 +02:00
Michaël Zasso
004137e269
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: 4c29cf1b78

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:17 +02:00
Michaël Zasso
a052c03033
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: ca2a787a0b

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:14 +02:00
Michaël Zasso
01cea9a8d8
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: a2cae2180a

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:11 +02:00
Michaël Zasso
d9d26b08ef
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: https://github.com/nodejs/node/pull/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: 87ce4f5d98

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:08 +02:00
Michaël Zasso
64a6328505
deps: make V8 compilable with older glibc
Remove call to `memfd_create`.
The function that references it is only used for V8 testing.

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:05 +02:00
Jiawen Geng
fde59217b9
deps: V8: fix v8-cppgc.h for MSVC
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=12661
Refs: https://github.com/nodejs/node/issues/42375

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:02 +02:00
Michaël Zasso
cdcc82cced
deps: silence V8's warning on CompileFunction
We are not ready to migrate yet.

Refs: https://github.com/nodejs/node-v8/issues/214

PR-URL: https://github.com/nodejs/node/pull/40907
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-04-12 22:09:50 +02:00
Michaël Zasso
2d2cef14b1
deps: disable trap handler for Windows cross-compiler
`handler-outside-simulator.cc` uses inline assembly, which is not
supported by MSVC.

PR-URL: https://github.com/nodejs/node/pull/40488
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-04-12 22:09:45 +02:00
Jiawen Geng
1132d044db
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>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/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>
2022-04-12 22:09:36 +02:00
Refael Ackermann
4169f9d03c
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>
2022-04-12 22:09:16 +02:00
Refael Ackermann
3962b86672
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>
2022-04-12 22:09:10 +02:00
Michaël Zasso
d5462e4558
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:08:42 +02:00
Niyas Sait
818284b687
build: remove precompiled header and debug information for host builds
PR-URL: https://github.com/nodejs/node/pull/42538
Refs: https://github.com/nodejs/node/issues/42375
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2022-04-05 13:29:08 +01:00
Richard Lau
1134d8faf8
build: bump macOS deployment target to 10.15
Update the macOS deployment target for Node.js 18 onwards.

PR-URL: https://github.com/nodejs/node/pull/42292
Refs: https://github.com/nodejs/build/issues/2815
Refs: https://github.com/libuv/libuv/pull/3406
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2022-03-18 16:53:27 +00:00
Lu Yahan
29c0522616
deps: V8: cherry-pick c6f6626deb14
Original commit message:

    [riscv64] Fix segmentation fault of webpack-make from cockpit

    issue: https://github.com/riscv-collab/v8/issues/520

    Change-Id: I7fe298ad16a2f599805929db0f084a81c4eb7f7a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3503170
    Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
    Reviewed-by: ji qiu <qiuji@iscas.ac.cn>
    Reviewed-by: Yahan Lu <yahan@iscas.ac.cn>
    Commit-Queue: Yahan Lu <yahan@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/main@{#79376}

Refs: c6f6626deb

PR-URL: https://github.com/nodejs/node/pull/42240
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-03-10 23:24:09 +00:00
Lu Yahan
2f7920c208 deps: V8: cherry-pick 77d515484864
Original commit message:

    [riscv64] Move explicit specialization into .cc file

    Building with Gcc-10 causes error "explicit specialization in non-namespace scope".
    This change fixes it.

    Bug: v8:12649

    Change-Id: I36b2b042b336c2dfd32ba5541fdbbdb8dc8b4fd7
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3473997
    Reviewed-by: ji qiu <qiuji@iscas.ac.cn>
    Commit-Queue: ji qiu <qiuji@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/main@{#79185}

Refs: 77d5154848

PR-URL: https://github.com/nodejs/node/pull/42067
Refs: b66334313c
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
2022-02-25 15:28:38 +00:00
Lu Yahan
92d6c40ae8 deps: V8: cherry-pick b66334313c8b
Original commit message:

    [riscv64] use callee save register in regexp

    Bug: v8:12502

    Change-Id: I8d1b599fc945e276b70901953368768594470204
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3343861
    Reviewed-by: ji qiu <qiuji@iscas.ac.cn>
    Commit-Queue: ji qiu <qiuji@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/main@{#78421}

Refs: b66334313c

PR-URL: https://github.com/nodejs/node/pull/42067
Refs: 77d5154848
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
2022-02-25 15:28:37 +00:00
alexcfyung
e0fa7e0608
build: use zoslib_include_dir provided by node-gyp
The path is based on the zoslib gyp path passed to configure.py
via --static-zoslib-gyp arg.

PR-URL: https://github.com/nodejs/node/pull/41713
Co-authored-by: Gaby Baghdadi <baghdadi@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-02-15 12:51:52 +01:00
Ben Noordhuis
214d7da675
build: remove broken x32 arch support
I added support for x32 back in 2014 but it's been in a state of
disrepair ever since, not in the least because it was never a fully
supported architecture in upstream V8.

V8 dropped x32 support entirely in or around 2018 so the removal from
Node's build system is long overdue.

Refs: https://github.com/nodejs/node/issues/40576

PR-URL: https://github.com/nodejs/node/pull/41905
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2022-02-11 08:52:24 +00:00
Gus Caplan
97826d3d83
deps: V8: cherry-pick cc9a8a37445e
Original commit message:

    fix overflow check in error formatting

    Bug: v8:12494
    Change-Id: Iba2684173296aa236f1a1c73a5606c21472eff06
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3426634
    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Gus Caplan <snek@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78909}

Refs: cc9a8a3744

PR-URL: https://github.com/nodejs/node/pull/41823
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2022-02-03 08:36:34 -06:00
Michaël Zasso
468fffdf66
deps: V8: cherry-pick 50d5fb7a457c
Original commit message:

    [debugger] Pass break reason for interrupt along with BreakRightNow

    This explicitly passes along the break reason when requesting a pause
    that is handled via an interrupt. Pushing the break reason is not
    enough (as done before), as the reason may be used and consumed on
    another pause call that triggers a setPauseOnNextCall.

    Fixed: chromium:1292519
    Change-Id: If8635c9397a7b9a1e6757be8048c9edc613c27f8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3427208
    Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
    Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
    Auto-Submit: Kim-Anh Tran <kimanh@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78885}

Refs: 50d5fb7a45

PR-URL: https://github.com/nodejs/node/pull/41610
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2022-02-02 17:24:54 +01:00
Michaël Zasso
48708be57b
deps: V8: cherry-pick 79a9d2eb3477
Original commit message:

    Fix destructor for EmbedderStateScope

    EmbedderState is forward declared in public header for
    EmbedderStateScope. Default std::unique_ptr's destructor needs a fully
    defined class. Defining default destructor in implementation file fixes
    this.

    Bug: chromium:1263871
    Change-Id: I8ccc58f56a758927dc5d7a39387188185e7d3827
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3338697
    Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78363}

Refs: 79a9d2eb34

PR-URL: https://github.com/nodejs/node/pull/41610
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2022-02-02 17:24:51 +01:00
Michaël Zasso
ae5edcf2d8
deps: V8: cherry-pick 3b6b21f595f6
Original commit message:

    [liftoff] Allow bailout for missing ARMv7

    The bailout is there explicitly in the code, so we should allow it in
    {CheckBailoutAllowed}.

    R=ahaas@chromium.org

    Bug: v8:12527
    Change-Id: Ifd906afb5f034f05c2bf7d9a28e3ab458549e7ef
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3372915
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78515}

Refs: 3b6b21f595

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

PR-URL: https://github.com/nodejs/node/pull/41457
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2022-02-02 17:24:46 +01:00
Michaël Zasso
3c8782f70e
deps: silence V8's warning on CompileFunction
We are not ready to migrate yet.

Refs: https://github.com/nodejs/node-v8/issues/214

PR-URL: https://github.com/nodejs/node/pull/40907
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-02-02 17:24:37 +01:00
Michaël Zasso
80c5a65c99
deps: disable trap handler for Windows cross-compiler
`handler-outside-simulator.cc` uses inline assembly, which is not
supported by MSVC.

PR-URL: https://github.com/nodejs/node/pull/40488
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-02-02 17:24:33 +01:00
Michaël Zasso
008e678988
deps: silence irrelevant V8 warning
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>
2022-02-02 17:24:26 +01:00
Michaël Zasso
c19ec06b4a
deps: silence irrelevant V8 warning
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>
2022-02-02 17:24:21 +01:00
Jiawen Geng
12303540ec
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>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/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>
2022-02-02 17:24:17 +01:00
Joao Reis
5bc8f3bf1c
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>
2022-02-02 17:24:12 +01:00
Refael Ackermann
3c3a70dc5f
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>
2022-02-02 17:24:05 +01:00
Refael Ackermann
dc21daa4c6
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>
2022-02-02 17:24:00 +01:00
Refael Ackermann
2ab6d72505
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>
2022-02-02 17:23:53 +01:00
Michaël Zasso
7ee8a7a463
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/41610
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2022-02-02 17:23:21 +01:00
alexcfyung
ec1364b6ae build: enable zoslib installation on z/OS
zoslib is a C/C++ runtime library and an extended implementation
of the z/OS LE C Runtime Library.

PR-URL: https://github.com/nodejs/node/pull/41493
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Co-authored-by: Gaby Baghdadi <baghdadi@ca.ibm.com>
2022-01-21 14:21:52 -05:00
Michaël Zasso
e23e345b6c
deps: V8: cherry-pick 80bbbb143c24
Original commit message:

    [class] handle existing readonly properties in StoreOwnIC

    Previously, StoreOwnIC incorrectly reuses the [[Set]] semantics
    when initializing public literal class fields and object literals in
    certain cases (e.g. when there's no feedback).
    This was less of an issue for object literals, but with public class
    fields it's possible to define property attributes while the
    instance is still being initialized, or to encounter existing static
    "name" or "length" properties that should be readonly. This patch
    fixes it by

    1) Emitting code that calls into the slow stub when
       handling StoreOwnIC with existing read-only properties.
    2) Adding extra steps in StoreIC::Store to handle such stores
       properly with [[DefineOwnProperty]] semantics.

    Bug: v8:12421, v8:9888
    Change-Id: I6547320a1caba58c66ee1043cd3183a2de7cefef
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3300092
    Reviewed-by: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/main@{#78659}

Refs: 80bbbb143c

PR-URL: https://github.com/nodejs/node/pull/40907
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-01-20 10:40:26 +01:00
Michaël Zasso
696ce7df26
deps: V8: cherry-pick 1cc12b278e22
Original commit message:

    [ic] Add StoreOwnIC_Slow

    This runtime function behaves like StoreDataPropertyInLiteral, except it
    can throw, since it's also used for defining public class fields. Unlike
    the literal use case, class field can end up throwing due to field
    initializers doing things like freezing the instance.

    Bug: chromium:1264828
    Change-Id: I3ea4d15ad9b906c26763f022c8e22b757fa80b6c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3252558
    Commit-Queue: Igor Sheludko <ishell@chromium.org>
    Auto-Submit: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77704}

Refs: 1cc12b278e

PR-URL: https://github.com/nodejs/node/pull/40907
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-01-20 10:40:23 +01:00
Michaël Zasso
91cf835571
deps: V8: cherry-pick 3b6b21f595f6
Original commit message:

    [liftoff] Allow bailout for missing ARMv7

    The bailout is there explicitly in the code, so we should allow it in
    {CheckBailoutAllowed}.

    R=ahaas@chromium.org

    Bug: v8:12527
    Change-Id: Ifd906afb5f034f05c2bf7d9a28e3ab458549e7ef
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3372915
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78515}

Refs: 3b6b21f595

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

PR-URL: https://github.com/nodejs/node/pull/41457
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2022-01-20 10:40:18 +01:00
Ray Wang
5ea28b7ebf
deps: V8: cherry-pick 7ae0b77628f6
Original commit message:

    [interpreter] Stop jump-table optimizing switch stms when spread overflows

    Bug: v8:12389
    Change-Id: I53c728ab0c8ba38c7dd96c7e1089f771ba44b9f0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3289227
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77995}

Refs: 7ae0b77628

PR-URL: https://github.com/nodejs/node/pull/40882
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-01-20 10:40:06 +01:00
Michaël Zasso
2080449011
deps: disable trap handler for Windows cross-compiler
`handler-outside-simulator.cc` uses inline assembly, which is not
supported by MSVC.

PR-URL: https://github.com/nodejs/node/pull/40488
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-01-20 10:39:57 +01:00
Michaël Zasso
b9009d60ed
deps: silence irrelevant V8 warning
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>
2022-01-20 10:39:48 +01:00
Michaël Zasso
9fef7a179d
deps: silence irrelevant V8 warning
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>
2022-01-20 10:39:39 +01:00
Jiawen Geng
c40a7c1579
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>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/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: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/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>
2022-01-20 10:39:33 +01:00
Joao Reis
efff1bd218
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>
2022-01-20 10:39:18 +01:00
Refael Ackermann
c465ba572a
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>
2022-01-20 10:39:12 +01:00
Refael Ackermann
0a9c63e016
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>
2022-01-20 10:39:06 +01:00
Refael Ackermann
a2802a8934
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>
2022-01-20 10:38:59 +01:00