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),