Commit bae4e709b8c for nodejs
commit bae4e709b8c06437405a12d117cd0ecb2ad42aa2
Author: Joyee Cheung <joyeec9h3@gmail.com>
Date: Tue Sep 15 15:59:43 2026 +0200
deps: V8: cherry-pick 1246d3bfab1a
Original commit message:
[api] avoid applying IsGarbageCollectedType<void>
The updated version of http://crrev.com/c/8379082 was not enough
to remove the resolution of IsGarbageCollectedType<void>
which would hit the static_assert(sizeof(T)) assertion.
This patch explicitly rejects void again before checking the
trait.
Change-Id: Ieef4126bcba04e1e3c2bd62e89b7410a47cd2b29
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8411047
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#109868}
Refs: https://github.com/v8/v8/commit/1246d3bfab1a5df2d967cfbbab2b42fb2238893e
Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/66537
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
diff --git a/common.gypi b/common.gypi
index 5586cbce856..e70270a793b 100644
--- a/common.gypi
+++ b/common.gypi
@@ -44,7 +44,7 @@
# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
- 'v8_embedder_string': '-node.8',
+ 'v8_embedder_string': '-node.9',
##### V8 defaults for Node.js #####
diff --git a/deps/v8/include/v8-context.h b/deps/v8/include/v8-context.h
index 02b6f5c855d..6608be2d621 100644
--- a/deps/v8/include/v8-context.h
+++ b/deps/v8/include/v8-context.h
@@ -7,14 +7,15 @@
#include <stdint.h>
+#include <type_traits>
#include <vector>
#include "cppgc/type-traits.h" // NOLINT(build/include_directory)
-#include "v8-data.h" // NOLINT(build/include_directory)
-#include "v8-local-handle.h" // NOLINT(build/include_directory)
-#include "v8-maybe.h" // NOLINT(build/include_directory)
-#include "v8-snapshot.h" // NOLINT(build/include_directory)
-#include "v8config.h" // NOLINT(build/include_directory)
+#include "v8-data.h" // NOLINT(build/include_directory)
+#include "v8-local-handle.h" // NOLINT(build/include_directory)
+#include "v8-maybe.h" // NOLINT(build/include_directory)
+#include "v8-snapshot.h" // NOLINT(build/include_directory)
+#include "v8config.h" // NOLINT(build/include_directory)
namespace v8 {
@@ -328,7 +329,7 @@ class V8_EXPORT Context : public Data {
EmbedderDataTypeTag tag);
template <typename T>
- requires cppgc::IsGarbageCollectedTypeV<T>
+ requires(!std::is_void_v<T>) && cppgc::IsGarbageCollectedTypeV<T>
void SetAlignedPointerInEmbedderData(int index, T* value,
CppHeapPointerTag tag) {
SetAlignedPointerInEmbedderDataInternal(index, static_cast<void*>(value),