-
-
Notifications
You must be signed in to change notification settings - Fork 34k
deps: update V8 to 14.2 #60111
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
deps: update V8 to 14.2 #60111
Conversation
|
Review requested:
|
|
Well it looks like we are hitting the first issue related to the drop of GCC support in V8 (or GCC 12 is just too old). |
I noticed the constexpr issue and another gcc compile issue and opened up a CL last week: https://chromium-review.googlesource.com/c/v8/v8/+/6987408. |
|
Tests with require('esm') in cycles are failing in debug mode, cc @joyeecheung |
|
#60111 (comment) is still happening. @legendecas The DCHECK is from you in v8/v8@8c63812 |
|
https://chromium-review.googlesource.com/c/v8/v8/+/7031498 should fix the DCHECK failure. |
Improve DCHECKs that requires a module to be linked. This includes kLinked, kEvaluated, kEvaluatingAsync, kErrored and the missing kEvaluating. kEvaluating can be found when a cyclic module is been evaluated synchronously. Refs: nodejs/node#60111 (comment) Change-Id: Ie0b9be22f2d3b8208571d8b419da3505b9f57b65 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7031498 Reviewed-by: Camillo Bruni <[email protected]> Commit-Queue: Chengzhong Wu <[email protected]> Cr-Commit-Position: refs/heads/main@{#103203}
Major V8 updates are usually API/ABI incompatible with previous versions. This commit adapts NODE_MODULE_VERSION for V8 14.2. 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]> Reviewed-By: Filip Skokan <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Colin Ihrig <[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]> Reviewed-By: Filip Skokan <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Colin Ihrig <[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]> Reviewed-By: Filip Skokan <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Colin Ihrig <[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]> Reviewed-By: Filip Skokan <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
illumos pointers are VA48, can allocate from the top of the 64-bit range as well. PR-URL: nodejs#59805 Reviewed-By: Filip Skokan <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
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]> Reviewed-By: Filip Skokan <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
Original commit message:
[runtime] Fastcase for empty getOwnPropertySymbols()
Since symbols are not enumerable we can rule them out in case all
properties are in the enum cache.
Bug: 447154198
Change-Id: Ib2d58b67e5058d98323fcebaef3daba88c6304b5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6983286
Commit-Queue: Olivier Flückiger <[email protected]>
Reviewed-by: Toon Verwaest <[email protected]>
Auto-Submit: Olivier Flückiger <[email protected]>
Cr-Commit-Position: refs/heads/main@{#102878}
Refs: v8/v8@f93055f
PR-URL: nodejs#60105
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Original commit message:
Fix build on gcc
This commit fixes two issues
1.
```
In file included from ../../src/compiler/turboshaft/assembler.h:37,
from ../../src/wasm/turboshaft-graph-interface.h:13,
from ../../src/wasm/function-compiler.cc:20:
../../src/compiler/turboshaft/builtin-call-descriptors.h:26:55: error: declaration of 'static constexpr v8::internal::compiler::turboshaft::detail::IndexTag<1> v8::internal::compiler::turboshaft::builtin::BigIntAdd::Arguments::index_counter(v8::internal::compiler::turboshaft::detail::IndexTag<1>)' changes meaning of 'index_counter' [-fpermissive]
```
GCC is more strict on accessing the fields from a inner struct. The fix
was to wrap the base declarations in a struct and have Arguments struct
inheirt from the base.
2. In maglev-ir.h and maglev-range-analysis.h fixed up `error: call to
non-'constexpr'` issues.
Change-Id: I175700665c7bbb4f07588e9cac3d55d9afce44d0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6987408
Reviewed-by: Jakob Linke <[email protected]>
Commit-Queue: Jakob Linke <[email protected]>
Reviewed-by: Milad Farazmand <[email protected]>
Reviewed-by: Nico Hartmann <[email protected]>
Cr-Commit-Position: refs/heads/main@{#103041}
Refs: v8/v8@fed4744
Co-authored-by: Michaël Zasso <[email protected]>
Original commit message:
[objects] improve module linked status DCHECKs
Improve DCHECKs that requires a module to be linked. This includes
kLinked, kEvaluated, kEvaluatingAsync, kErrored and the missing
kEvaluating. kEvaluating can be found when a cyclic module is been
evaluated synchronously.
Refs: nodejs#60111 (comment)
Change-Id: Ie0b9be22f2d3b8208571d8b419da3505b9f57b65
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7031498
Reviewed-by: Camillo Bruni <[email protected]>
Commit-Queue: Chengzhong Wu <[email protected]>
Cr-Commit-Position: refs/heads/main@{#103203}
Refs: v8/v8@ff34ae2
|
/cc @nodejs/v8-update @nodejs/tsc |
joyeecheung
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RSLGTM
PR-URL: #60111 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]>
PR-URL: #60111 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]>
Major V8 updates are usually API/ABI incompatible with previous versions. This commit adapts NODE_MODULE_VERSION for V8 14.2. Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md PR-URL: #60111 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]>
Original commit message:
Fix build on gcc
This commit fixes two issues
1.
```
In file included from ../../src/compiler/turboshaft/assembler.h:37,
from ../../src/wasm/turboshaft-graph-interface.h:13,
from ../../src/wasm/function-compiler.cc:20:
../../src/compiler/turboshaft/builtin-call-descriptors.h:26:55: error: declaration of 'static constexpr v8::internal::compiler::turboshaft::detail::IndexTag<1> v8::internal::compiler::turboshaft::builtin::BigIntAdd::Arguments::index_counter(v8::internal::compiler::turboshaft::detail::IndexTag<1>)' changes meaning of 'index_counter' [-fpermissive]
```
GCC is more strict on accessing the fields from a inner struct. The fix
was to wrap the base declarations in a struct and have Arguments struct
inheirt from the base.
2. In maglev-ir.h and maglev-range-analysis.h fixed up `error: call to
non-'constexpr'` issues.
Change-Id: I175700665c7bbb4f07588e9cac3d55d9afce44d0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6987408
Reviewed-by: Jakob Linke <[email protected]>
Commit-Queue: Jakob Linke <[email protected]>
Reviewed-by: Milad Farazmand <[email protected]>
Reviewed-by: Nico Hartmann <[email protected]>
Cr-Commit-Position: refs/heads/main@{#103041}
Refs: v8/v8@fed4744
Co-authored-by: Michaël Zasso <[email protected]>
PR-URL: #60111
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Original commit message:
[objects] improve module linked status DCHECKs
Improve DCHECKs that requires a module to be linked. This includes
kLinked, kEvaluated, kEvaluatingAsync, kErrored and the missing
kEvaluating. kEvaluating can be found when a cyclic module is been
evaluated synchronously.
Refs: #60111 (comment)
Change-Id: Ie0b9be22f2d3b8208571d8b419da3505b9f57b65
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7031498
Reviewed-by: Camillo Bruni <[email protected]>
Commit-Queue: Chengzhong Wu <[email protected]>
Cr-Commit-Position: refs/heads/main@{#103203}
Refs: v8/v8@ff34ae2
PR-URL: #60111
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
|
Landed in 520d827...f819aec |
Original commit message:
Fix build on gcc
This commit fixes two issues
1.
```
In file included from ../../src/compiler/turboshaft/assembler.h:37,
from ../../src/wasm/turboshaft-graph-interface.h:13,
from ../../src/wasm/function-compiler.cc:20:
../../src/compiler/turboshaft/builtin-call-descriptors.h:26:55: error: declaration of 'static constexpr v8::internal::compiler::turboshaft::detail::IndexTag<1> v8::internal::compiler::turboshaft::builtin::BigIntAdd::Arguments::index_counter(v8::internal::compiler::turboshaft::detail::IndexTag<1>)' changes meaning of 'index_counter' [-fpermissive]
```
GCC is more strict on accessing the fields from a inner struct. The fix
was to wrap the base declarations in a struct and have Arguments struct
inheirt from the base.
2. In maglev-ir.h and maglev-range-analysis.h fixed up `error: call to
non-'constexpr'` issues.
Change-Id: I175700665c7bbb4f07588e9cac3d55d9afce44d0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6987408
Reviewed-by: Jakob Linke <[email protected]>
Commit-Queue: Jakob Linke <[email protected]>
Reviewed-by: Milad Farazmand <[email protected]>
Reviewed-by: Nico Hartmann <[email protected]>
Cr-Commit-Position: refs/heads/main@{#103041}
Refs: v8/v8@fed4744
Co-authored-by: Michaël Zasso <[email protected]>
PR-URL: nodejs#60111
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Original commit message:
[objects] improve module linked status DCHECKs
Improve DCHECKs that requires a module to be linked. This includes
kLinked, kEvaluated, kEvaluatingAsync, kErrored and the missing
kEvaluating. kEvaluating can be found when a cyclic module is been
evaluated synchronously.
Refs: nodejs#60111 (comment)
Change-Id: Ie0b9be22f2d3b8208571d8b419da3505b9f57b65
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7031498
Reviewed-by: Camillo Bruni <[email protected]>
Commit-Queue: Chengzhong Wu <[email protected]>
Cr-Commit-Position: refs/heads/main@{#103203}
Refs: v8/v8@ff34ae2
PR-URL: nodejs#60111
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
No notable changes in this version.