deps: update V8 to 15.2 - #65161
Conversation
|
Review requested:
|
|
I guess this is blocked by #64408 (https://github.com/nodejs/node/actions/runs/31307061482/job/93228984418?pr=65161) |
|
Uploaded https://chromium-review.googlesource.com/c/v8/v8/+/8223266 to fix the Linux AArch64 build (haven't tested on real Linux AArch64 yet, but that's what the error message suggests) |
GCC requires SVE enabled for the entire translation unit and does not expose raw __builtin_sve_* builtins on a per-function basis. Fallback to Neon if it's not built by Clang. Refs: nodejs/node#65161 Change-Id: I53a06fcf8f901ae0347044c6999463ce99215c45 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8223266 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/main@{#109230}
Original commit message:
[simd] Disable SVE implementation of array search for GCC
GCC requires SVE enabled for the entire translation unit and does
not expose raw __builtin_sve_* builtins on a per-function basis.
Fallback to Neon if it's not built by Clang.
Refs: nodejs#65161
Change-Id: I53a06fcf8f901ae0347044c6999463ce99215c45
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8223266
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#109230}
Refs: v8/v8@68cf9ec
|
FWIW https://chromium-review.googlesource.com/c/v8/v8/+/8236132 was opened by @sravani1510 to address the AIX build failure that is occurring on our V8 nightly builds. |
|
@nodejs/platform-windows We're hitting a weird error on Windows: https://github.com/nodejs/node/actions/runs/31699320590/job/94444346312?pr=65161 This wrong path doesn't exist in the code. |
|
@legendecas Can you help with the perfetto build? |
|
Fixed the perfetto build. But I think the CI is failing for tests in large pages. Likely not related. |
|
Thanks. Summary of the remaining issues in GitHub CI: I'll start a Jenkins CI for more coverage. |
Been talking to @miladfarca about this: The Linux ppc64le and s390x machines being tested on have 8GB RAM and this test is allocating 16GB. |
|
Patched it here: https://crrev.com/c/8252113 |
|
For the SEA test failures: they should not have run in the first place. #63751 should fix it. |
|
This should fix the alpine failures https://chromium-review.googlesource.com/c/v8/v8/+/8254825 |
For most libcs, pthread_getattr_np() returns the the stack reserved limit on the main thread, but musl only returns the current high-water mark at the time of the call. There's no macro to detect musl, so just fallback to the conservative stack limit in cases where the libc is not one that is known to work. Refs: nodejs/node#65161 Change-Id: Ie2b51269b9e8d2d3451d5d68ad1a233d396af935 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8254825 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/main@{#109406}
Major V8 updates are usually API/ABI incompatible with previous versions. This commit adapts NODE_MODULE_VERSION for V8 15.2. Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
PR-URL: nodejs#61898 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
It's causing linker errors with node.lib in node-gyp and potentially breaks other 3rd party tools Refs: nodejs#55784 PR-URL: nodejs#61898 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
GCC emits warnings because of the trailing backslashes. PR-URL: nodejs#61898 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
illumos pointers are VA48, can allocate from the top of the 64-bit range as well. PR-URL: nodejs#61898 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
In illumos, madvise(3C) now takes `void *` for its first argument post-illumos#14418, but uses `caddr_t` pre-illumos#14418. This fix will detect if the illumos mman.h file in use is pre-or-post-illumos#14418 so builds can work either way. PR-URL: nodejs#61898 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
PR-URL: nodejs#61898 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
aix: simplify OS::DecommitPages implementation Replace complex mmap/munmap retry logic with mprotect + madvise approach. This fixes a race condition that was causing test failures in Node.js. Node.js stress test was run with this fix and testing shows 0 failures out of 1000 runs of wpt/test-wasm-jsapi with this patch compared to 224 failures without it. Refs: nodejs#62647 Refs: https://chromium-review.googlesource.com/c/v8/v8/+/7780464 PR-URL: nodejs#61898 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Signed-Off-By: Michaël Zasso <targos@protonmail.com>
Original commit message:
[simd] Disable SVE implementation of array search for GCC
GCC requires SVE enabled for the entire translation unit and does
not expose raw __builtin_sve_* builtins on a per-function basis.
Fallback to Neon if it's not built by Clang.
Refs: nodejs#65161
Change-Id: I53a06fcf8f901ae0347044c6999463ce99215c45
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8223266
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#109230}
Refs: v8/v8@68cf9ec
Co-Authored-By: Joyee Cheung <joyeec9h3@gmail.com> Signed-Off-By: Michaël Zasso <targos@protonmail.com>
Signed-Off-By: Michaël Zasso <targos@protonmail.com>
Signed-Off-By: Michaël Zasso <targos@protonmail.com>
Signed-Off-By: Michaël Zasso <targos@protonmail.com>
Post-mortem libraries should use v8's debug_helper library instead.
- Set/GetPrototype - Holder Signed-Off-By: Michaël Zasso <targos@protonmail.com>
Signed-Off-By: Michaël Zasso <targos@protonmail.com>
Signed-Off-By: Michaël Zasso <targos@protonmail.com>
Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
ICU_UTIL_DATA_SHARED had been removed since https://crrev.com/c/1513615, but Node.js still defined it and relied on the removed path on Windows, so the ICU initialization in mksnapshot had been silently failing since then. https://crrev.com/c/7679153 made the failure visible so the build started breaking on Windows. Fix it by always using ICU_UTIL_DATA_STATIC since we already compile the ICU data statically in. Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
V8 bumped its wire-format version from 0x0f to 0x10. Update the expected hex in test-v8-serdes, and derive the v8 header bytes dynamically in test-runner-v8-deserializer so it tracks future bumps automatically. Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
V8 no longer supports JSON.parse on worker isolates while the shared string table is enabled. Since --harmony-struct enables that table and Node workers parse process.config during bootstrap, use direct MessageChannel instead of a worker. Signed-Off-By: Michaël Zasso <targos@protonmail.com>
Signed-off-by: Chengzhong Wu <cwu631@bloomberg.net>
Original commit message:
[platform][posix] Fallback to conservative stack limit on musl
For most libcs, pthread_getattr_np() returns the the stack reserved
limit on the main thread, but musl only returns the current high-water
mark at the time of the call. There's no macro to detect musl, so just
fallback to the conservative stack limit in cases where the libc is
not one that is known to work.
Refs: nodejs#65161
Change-Id: Ie2b51269b9e8d2d3451d5d68ad1a233d396af935
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8254825
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#109406}
Refs: v8/v8@ba4ef8d
Refs: #64784