Joyee Cheung
a3e0834ee4
deps: V8: cherry-pick efb1133eb894
...
Original commit message:
[api] Add v8::ScriptCompiler::CachedData::CompatibilityCheck()
This patch adds a new API v8::ScriptCompiler::CachedData::CompatibilityCheck()
in order to allow embedders to check if the code cache can be used in
the current isolate without looking up for the source code. It also returns more detailed reasons about why the code cache cannot be used
when it's bound to be rejected. This makes it possible to enforce
portability checks in case code code becomes CPU-dependent in the
future.
Refs: https://github.com/nodejs/node/issues/42566#issuecomment-1735862123
Change-Id: Ia1d677b949050add961af6fbf62c44342c061312
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4905290
Reviewed-by: Marja Hölttä <marja@chromium.org >
Reviewed-by: Toon Verwaest <verwaest@chromium.org >
Commit-Queue: Joyee Cheung <joyee@igalia.com >
Cr-Commit-Position: refs/heads/main@{#90833}
Refs: https://github.com/v8/v8/commit/efb1133eb894a283ff0341c4e44d43e913911b6c
PR-URL: https://github.com/nodejs/node/pull/51551
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2024-02-01 11:53:59 +00:00
Keyhan Vakil
0da3beebfc
deps: V8: cherry-pick de611e69ad51
...
Original commit message:
[maglev] fix non-ptr-compr compilation on old compilers
When pointer compression is disabled, the preprocessor expands some
static asserts to static_assert(false), which doesn't compile on
compilers not implementing the C++ defect report CWG2518, notably clang
before version 17 and gcc before version 13.
Adding in part of the template parameter to the static assert prevents
it from being evaluated immediately which fixes the compilation.
Test: compiled with gcc-11 and clang-14 without pointer compression.
Change-Id: I95ce29bdb1278e6dad9e592d6f9476395f8aeb59
Fixed: v8:14355
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5022760
Reviewed-by: Leszek Swirski <leszeks@chromium.org >
Commit-Queue: Leszek Swirski <leszeks@chromium.org >
Cr-Commit-Position: refs/heads/main@{#91553}
Refs: https://github.com/v8/v8/commit/de611e69ad517c02d16bd1f9fd450b0d20379152
PR-URL: https://github.com/nodejs/node/pull/51200
Refs: https://github.com/nodejs/node/issues/50690
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:31:51 +01:00
Joyee Cheung
b982335637
deps: V8: cherry-pick 0fd478bcdabd
...
Original commit message:
[heap-profiler]: expose QueryObjects() to v8::HeapProfiler
This allows embedders to use this API for testing memory leaks more
reliably. See https://github.com/nodejs/node/pull/50572 for an
example about how the API can be used.
Change-Id: Ic3d1268e2b331c37e8ec92997b764b9b5486f8c2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5006373
Reviewed-by: Camillo Bruni <cbruni@chromium.org >
Reviewed-by: Simon Zünd <szuend@chromium.org >
Commit-Queue: Joyee Cheung <joyee@igalia.com >
Cr-Commit-Position: refs/heads/main@{#91123}
Refs: https://github.com/v8/v8/commit/0fd478bcdabd3400d9d74c47c4883c085ef37d18
PR-URL: https://github.com/nodejs/node/pull/50572
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:31:46 +01:00
Chengzhong Wu
481a90116c
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: https://github.com/v8/v8/commit/0f9ebbc672c77594feb9176cf52601116aa7c34c
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 >
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:31:45 +01:00
Lu Yahan
782addbdc3
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: https://github.com/v8/v8/commit/8f0b94671ddb56cc681f491d6e542b909b0d94cc
PR-URL: https://github.com/nodejs/node/pull/50654
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:31:42 +01:00
Luke Albao
b682e7f540
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: https://github.com/v8/v8/commit/f7d000a7ae7b731805338338eb51a81fbcfe2628
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 >
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:31:40 +01:00
Joyee Cheung
a60090c52f
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: https://github.com/v8/v8/commit/25902244ad1aa5ad7c7e5c85d6b0afae4e878536
PR-URL: https://github.com/nodejs/node/pull/50156
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:31:35 +01:00
Michaël Zasso
8441d1fc18
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 >
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:31:29 +01:00
Michaël Zasso
e8e9bbd7a9
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 >
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:31:25 +01:00
Michaël Zasso
785d5cd006
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 >
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:31:21 +01:00
Michaël Zasso
7071c1dafd
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 >
PR-URL: https://github.com/nodejs/node/pull/50115
2024-01-04 09:31:17 +01:00
Michaël Zasso
d1d60b297d
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 >
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:31:05 +01:00
Michaël Zasso
5b240c62f9
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 >
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:30:58 +01:00
Michaël Zasso
58674cd1d8
build: reset embedder string to "-node.0"
...
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-01-04 09:30:16 +01:00
Keyhan Vakil
f5c95991d2
deps: V8: cherry-pick de611e69ad51
...
Original commit message:
[maglev] fix non-ptr-compr compilation on old compilers
When pointer compression is disabled, the preprocessor expands some
static asserts to static_assert(false), which doesn't compile on
compilers not implementing the C++ defect report CWG2518, notably clang
before version 17 and gcc before version 13.
Adding in part of the template parameter to the static assert prevents
it from being evaluated immediately which fixes the compilation.
Test: compiled with gcc-11 and clang-14 without pointer compression.
Change-Id: I95ce29bdb1278e6dad9e592d6f9476395f8aeb59
Fixed: v8:14355
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5022760
Reviewed-by: Leszek Swirski <leszeks@chromium.org >
Commit-Queue: Leszek Swirski <leszeks@chromium.org >
Cr-Commit-Position: refs/heads/main@{#91553}
Refs: https://github.com/v8/v8/commit/de611e69ad517c02d16bd1f9fd450b0d20379152
PR-URL: https://github.com/nodejs/node/pull/51200
Refs: https://github.com/nodejs/node/issues/50690
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
2023-12-21 17:44:19 +00:00
Joyee Cheung
bafbb6a6eb
deps: V8: cherry-pick 0fd478bcdabd
...
Original commit message:
[heap-profiler]: expose QueryObjects() to v8::HeapProfiler
This allows embedders to use this API for testing memory leaks more
reliably. See https://github.com/nodejs/node/pull/50572 for an
example about how the API can be used.
Change-Id: Ic3d1268e2b331c37e8ec92997b764b9b5486f8c2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5006373
Reviewed-by: Camillo Bruni <cbruni@chromium.org >
Reviewed-by: Simon Zünd <szuend@chromium.org >
Commit-Queue: Joyee Cheung <joyee@igalia.com >
Cr-Commit-Position: refs/heads/main@{#91123}
Refs: https://github.com/v8/v8/commit/0fd478bcdabd3400d9d74c47c4883c085ef37d18
PR-URL: https://github.com/nodejs/node/pull/50572
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
2023-12-15 00:35:38 +01:00
Cheng Zhao
0bb5d88871
v8,tools: expose necessary V8 defines
...
PR-URL: https://github.com/nodejs/node/pull/50820
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2023-11-25 04:30:50 +00:00
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: https://github.com/v8/v8/commit/0f9ebbc672c77594feb9176cf52601116aa7c34c
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: https://github.com/v8/v8/commit/8f0b94671ddb56cc681f491d6e542b909b0d94cc
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: https://github.com/v8/v8/commit/13192d6e10fa726858056e49fc9bca6201401171
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: https://github.com/v8/v8/commit/f7d000a7ae7b731805338338eb51a81fbcfe2628
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: https://github.com/v8/v8/commit/25902244ad1aa5ad7c7e5c85d6b0afae4e878536
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: https://github.com/v8/v8/commit/8ec2651fbdd8adf054397ee832031c9ff7aa16ac
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: https://github.com/v8/v8/commit/89b3702c92b0dfe8737eda94cedb1ec715b30fc7
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: https://github.com/v8/v8/commit/de9a5de2274f483961a04a933d84abd81dee9c07
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: https://github.com/v8/v8/commit/b5b5d6c31bb058fa99eada85331ea3be11232599
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: https://github.com/v8/v8/commit/93b1a74cbc9b5382a145051b9475433bc6107f1e
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: https://github.com/v8/v8/commit/1a3ecc2483b2dba6ab9f7e9f8f4b60dbfef504b7
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 and Luigi Pinca
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: https://github.com/v8/v8/commit/8ec2651fbdd8adf054397ee832031c9ff7aa16ac
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: https://github.com/v8/v8/commit/de9a5de2274f483961a04a933d84abd81dee9c07
PR-URL: https://github.com/nodejs/node/pull/49703
Refs: https://github.com/v8/v8/commit/b33bf2dfd26131cd51640b618853f2dfcfe5f728
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: https://github.com/v8/v8/commit/b60a03df4cebafb4c92ee644d11617ad73889e5e
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: https://github.com/v8/v8/commit/93b1a74cbc9b5382a145051b9475433bc6107f1e
PR-URL: https://github.com/nodejs/node/pull/49419
Refs: https://github.com/v8/v8/commit/0aa622e12893e9921c01a34ce9507b544e599c4a
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: https://github.com/v8/v8/commit/93275031284c66be7852b13f1b18a8bbe7f3a0a9
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: https://github.com/v8/v8/commit/9f4b7699f68edaed1de25ef0a1886c21d496032a
PR-URL: https://github.com/nodejs/node/pull/48830
Refs: https://github.com/v8/v8/commit/c1a54d5ffcd1a3b769376be3b46b57b860b5aa9e
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: https://github.com/v8/v8/commit/c1a54d5ffcd1a3b769376be3b46b57b860b5aa9e
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: https://github.com/v8/v8/commit/cf13b9b46572a9824d2d632abdd48c56161ace02
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: https://github.com/v8/v8/commit/1a782f6543ae999bf9e497e23042af0b70191f10
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: https://github.com/v8/v8/commit/5f025d1ca2ca2fe2f6cee5b6d841907a36fd32b7
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: https://github.com/v8/v8/commit/a8a11a87cb72c698cd35a5df3a23f0d08340b6d1
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