deps: update V8 to 15.2 - #65161
deps: update V8 to 15.2#65161targos wants to merge 38 commits into
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}
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
Post-mortem libraries should use v8's debug_helper library instead. Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
- Set/GetPrototype - Holder Signed-Off-By: Michaël Zasso <targos@protonmail.com> Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
Signed-Off-By: Michaël Zasso <targos@protonmail.com> Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
Signed-Off-By: Michaël Zasso <targos@protonmail.com> Signed-off-by: Joyee Cheung <joyeec9h3@gmail.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: Joyee Cheung <joyeec9h3@gmail.com>
Signed-off-by: Chengzhong Wu <cwu631@bloomberg.net> Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
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
Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
Original commit message:
Skip regress-498816446-3 when there is not enough memory
Currently causing a test failure on a machine with 8Gb of memory:
```
regress-498816446-3.js:25: RangeError: Array buffer allocation failed
```
Change-Id: I9e0396445c0b870d0070d666f9d6081b93e80f9c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8252113
Commit-Queue: Milad Farazmand <mfarazma@ibm.com>
Reviewed-by: Darius Mercadier <dmercadier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#109426}
Refs: v8/v8@811fe8b
Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
Signed-off-by: StefanStojanovic <stefan.stojanovic@janeasystems.com> Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
Original commit message:
[cleanup] Remove --js-float16array
Remove the --js-float16array flag and incorporate Float16Array into the
standard typed array macros and baseline snapshot unconditionally.
Float16Array has been shipping by default since M138.
Bug: 548385945
TAG=agy
CONV=052f499d-4ee5-4a10-8afd-900ba4a338db
Change-Id: I2c0012158febf422fdc1b866b9414f3f040e83ad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8264275
Reviewed-by: Nikolaos Papaspyrou <nikolaos@chromium.org>
Auto-Submit: Olivier Flückiger <olivf@chromium.org>
Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#109335}
Refs: v8/v8@f3d4d45
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: nodejs#65702
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
r-li.patch
Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
Original commit message:
AIX: implement Stack::ObtainCurrentThreadStackReservedLimit
Port 5a54f45b671bdf47e083ffbad547713d8bacb28f
AIX lacks `pthread_getattr_np()` so we implement the function using
pthread_getthrds_np() with PTHRDSINFO_QUERY_ALL, consistent with
ObtainCurrentThreadStackStart(). The `__pi_stackaddr` field maps to the
lowest stack address, equivalent to the base returned by
pthread_attr_getstack() on other POSIX platforms.
IT: 145
Change-Id: Ia1a34912630e3128f61fa0fca502429b837d611f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8236132
Reviewed-by: Milad Farazmand <mfarazma@ibm.com>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Milad Farazmand <mfarazma@ibm.com>
Cr-Commit-Position: refs/heads/main@{#109640}
Refs: v8/v8@f4221e0
Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
Original commit message:
Rewrite simdutf include paths to allow getting it from system
Change-Id: I2b7b4cb452c22ed72e0935662c3c7477954bc205
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8319848
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#109702}
Refs: v8/v8@a0607c5
PR-URL: nodejs#65891
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Original commit message:
[base] Guard int8_t ReadUnalignedValue overload on Solaris
On Solaris, int8_t is a typedef for char, so this overload collides with
ReadUnalignedValue(const char*) and fails to compile. Guard it with
V8_OS_SOLARIS, as already used elsewhere in the platform code.
Introduced in:
https://chromium-review.googlesource.com/c/v8/v8/+/7900500
Change-Id: I87c65412f412b6cf4de1f53ccaca539c1ce8c033
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8409815
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Joyee Cheung <joyee@igalia.com>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#110014}
Refs: v8/v8@37baecd
Original commit message:
Solaris: implement Stack::ObtainCurrentThreadStackReservedLimit
Port 5a54f45b671bdf47e083ffbad547713d8bacb28f
Solaris is excluded from the generic POSIX implementation, so implement
the function using pthread_attr_get_np() and pthread_attr_getstack(),
consistent with ObtainCurrentThreadStackStart(). The base returned by
pthread_attr_getstack() maps to the lowest address of the thread's
reserved stack.
Change-Id: I08a5b4cd80180b04496b22989cb976d1c24ce8e6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8413453
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Joyee Cheung <joyee@igalia.com>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#109953}
Refs: v8/v8@315d9c9
Original commit message:
[simd] Disable SVE implementation of array search for older ClangCL
The Microsoft C++ ABI mangler in older ClangCL cannot mangle
these built-ins. Disable SVE in this case.
Refs: llvm/llvm-project#196170
Refs: nodejs#65161
Change-Id: I35e49dd4bfc0617bfa31cb7e3af1a475b4fb1bef
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8420284
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#109945}
Refs: v8/v8@820f3d7
Original commit message:
[flags] compute kSortedFlagIndices at runtime in debug mode MSVC STL
When compiling with MSVC STL in debug build, the computation exceeds
its constexpr step limit. Switch to const instead in that case.
Refs: nodejs#65161
Change-Id: I6e9e9b32052fc7ed2fe7f2453a24623c3e9da646
Refs: v8/v8@cc3ba9a
|
Updated to 15.2.124.34, cherry-picked and backported
|
|
|
Looks like it should use this to support MSVC: |
Original commit message:
[cppgc] Use _AddressOfReturnAddress() for StackStartMarker under MSVC
include/cppgc/heap.h is a public header, and since b3cb54c7e65
("[heap] Add StackStartMarker for cppgc") it calls
__builtin_frame_address(0) unconditionally. That builtin does not exist
in MSVC, so any translation unit built with cl.exe that includes the
header (directly or through v8-cppgc.h) fails to compile, even if it
never constructs a StackStartMarker.
Use _AddressOfReturnAddress() when V8_CC_MSVC is set, which is what
base::Stack::GetCurrentStackPosition() already does for the same
purpose, and keep __builtin_frame_address(0) elsewhere.
Bug: none
Change-Id: Icd4c0238cb277c8e1b73454534ffb2519b302ce9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8361192
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Shelley Vohr <shelley.vohr@gmail.com>
Cr-Commit-Position: refs/heads/main@{#109737}
Refs: v8/v8@5404e0f
Refs: #64784