Commit 18b117b30fa for nodejs

commit 18b117b30faacfe2208996690c26798ee1c9c90e
Author: StefanStojanovic <stefan.stojanovic@janeasystems.com>
Date:   Tue Mar 17 10:35:08 2026 +0100

    deps: patch V8 to fix Windows build

    Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
    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 38c28a6d340..4b4e02f152d 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.13',
+    'v8_embedder_string': '-node.14',

     ##### V8 defaults for Node.js #####

diff --git a/deps/v8/include/v8-internal.h b/deps/v8/include/v8-internal.h
index 0115dc9454c..55d57d34255 100644
--- a/deps/v8/include/v8-internal.h
+++ b/deps/v8/include/v8-internal.h
@@ -526,7 +526,11 @@ struct TagRange {
   constexpr TagRange(Tag first, Tag last) : first(first), last(last) {
 #ifdef V8_ENABLE_CHECKS
     // This would typically be a DCHECK, but that's not available here.
+#if V8_HAS_BUILTIN_UNREACHABLE
     if (first > last) __builtin_unreachable();  // Invalid tag range.
+#elif defined(_MSC_VER)
+    if (first > last) __assume(0);  // Invalid tag range.
+#endif
 #endif
   }

diff --git a/deps/v8/src/objects/backing-store.cc b/deps/v8/src/objects/backing-store.cc
index feb9f85096b..74df6b3162c 100644
--- a/deps/v8/src/objects/backing-store.cc
+++ b/deps/v8/src/objects/backing-store.cc
@@ -323,7 +323,7 @@ std::unique_ptr<BackingStore> BackingStore::TryAllocateAndPartiallyCommitMemory(
   // For accounting purposes, whether a GC was necessary.
   bool did_retry = false;

-  auto gc_retry = [&](const std::function<bool()>& fn) {
+  auto gc_retry = [&](const auto& fn) {
     if (fn()) return true;
     // Collect garbage and retry.
     did_retry = true;