-
-
Notifications
You must be signed in to change notification settings - Fork 33k
deps: update V8 to 14.1 #59805
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
deps: update V8 to 14.1 #59805
Conversation
Major V8 updates are usually API/ABI incompatible with previous versions. This commit adapts NODE_MODULE_VERSION for V8 14.1. Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
PR-URL: nodejs#54077 Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Paolo Insogna <[email protected]>
It's causing linker errors with node.lib in node-gyp and potentially breaks other 3rd party tools PR-URL: nodejs#56238 Refs: nodejs#55784 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Paolo Insogna <[email protected]>
GCC emits warnings because of the trailing backslashes. PR-URL: nodejs#58070 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]>
PR-URL: nodejs#58070 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Paolo Insogna <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]>
illumos pointers are VA48, can allocate from the top of the 64-bit range as well.
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#58237 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
Review requested:
|
`Isolate::GetCurrent()` should be used instead as it returns the same thing. Refs: v8/v8@5c4a937
/cc @lukealbao In case you have ideas on how to adapt |
@nodejs/platform-ppc @nodejs/platform-s390 we quickly get a compiler error:
|
This might be a gcc issue. I'm working on a patch to make |
We no longer maintain gcc builds for RHEL on ppc64/s390x and builds now are using Clang. This patch which enables it on said platforms should already be part of 14.1: https://crrev.com/c/6705431 |
With clang 19: https://ci.nodejs.org/job/richardlau-node-test-commit-v8-linux/732/nodes=rhel8-s390x,v8test=v8test/console
Above is with:
FWIW https://ci.nodejs.org/job/node-test-commit-linuxone/51470/ (also with clang-19) passed. |
Is it possible that it's using the wrong version of the C++ standard library? Both errors are related to C++20 features. |
Quite possibly. Node.js built successfully with clang 19 for the equivalent platform: https://ci.nodejs.org/job/node-test-commit-linuxone/51470/ The IBM team that maintains the upstream Linux ppc64le and s390x ports build V8 with |
This should replace #58491
Still blocked at least on nodejs/build#4083
V8 CI is also broken because
--always-turbofan
flag was removed. I tried to fix it in canary with ab7d369, but thentest/v8-updates/test-linux-perf-logger.js
fails because the functions don't get optimized: https://ci.nodejs.org/job/node-test-commit-v8-linux/6742/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/consoleNotable changes since 13.7:
JSON.stringify
performance improvements