Commit 7c2eaad2967 for nodejs

commit 7c2eaad2967a90fb6886ecfe19c0315eb7408e8d
Author: Antoine du Hamel <duhamelantoine1995@gmail.com>
Date:   Fri Oct 16 11:05:43 2026 +0200

    deps: V8: cherry-pick 785a2ea88a90

    Original commit message:

        [tracing] do not define legacy tracing classes when using Perfetto

        Otherwise the Windows build of Node.js fails with `undefined symbol`
        errors due to the missing destructor.

        Change-Id: Id0841aed2f0a8f0cfe8889c39150552e31ee5f96
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8580049
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Reviewed-by: Chengzhong Wu <cwu631@bloomberg.net>
        Commit-Queue: Chengzhong Wu <cwu631@bloomberg.net>
        Cr-Commit-Position: refs/heads/main@{#110947}

    Refs: https://github.com/v8/v8/commit/785a2ea88a903317d72fe40e3fff660267865a69
    PR-URL: https://github.com/nodejs/node/pull/66876
    Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
    Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>

diff --git a/common.gypi b/common.gypi
index e6a81c49d92..a8dbd9ba13e 100644
--- a/common.gypi
+++ b/common.gypi
@@ -50,7 +50,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.9',
+    'v8_embedder_string': '-node.10',

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

diff --git a/deps/v8/include/libplatform/v8-tracing.h b/deps/v8/include/libplatform/v8-tracing.h
index 9d05949c38e..ea405b7870f 100644
--- a/deps/v8/include/libplatform/v8-tracing.h
+++ b/deps/v8/include/libplatform/v8-tracing.h
@@ -35,6 +35,7 @@ class TraceEventListener;

 const int kTraceMaxNumArgs = 2;

+#if !defined(V8_USE_PERFETTO)
 class V8_PLATFORM_EXPORT TraceObject {
  public:
   union ArgValue {
@@ -176,6 +177,7 @@ class V8_PLATFORM_EXPORT TraceBuffer {
   TraceBuffer(const TraceBuffer&) = delete;
   void operator=(const TraceBuffer&) = delete;
 };
+#endif  // !defined(V8_USE_PERFETTO)

 // Options determines how the trace buffer stores data.
 enum TraceRecordMode {
diff --git a/deps/v8/test/benchmarks/cpp/BUILD.gn b/deps/v8/test/benchmarks/cpp/BUILD.gn
index 4f870a8772b..0cba56ee1ab 100644
--- a/deps/v8/test/benchmarks/cpp/BUILD.gn
+++ b/deps/v8/test/benchmarks/cpp/BUILD.gn
@@ -65,6 +65,7 @@ if (v8_enable_google_benchmark) {
       "//:v8",
       "//:v8_internal_headers",
       "//:v8_libbase",
+      "//:v8_tracing",
       "//third_party/google_benchmark_chrome:google_benchmark",
     ]
   }
diff --git a/deps/v8/test/cctest/test-cpu-profiler.cc b/deps/v8/test/cctest/test-cpu-profiler.cc
index 42067b6076b..1600323a222 100644
--- a/deps/v8/test/cctest/test-cpu-profiler.cc
+++ b/deps/v8/test/cctest/test-cpu-profiler.cc
@@ -2955,9 +2955,11 @@ TEST(DeoptUntrackedFunction) {
   iprofiler->DeleteProfile(iprofile);
 }

-using v8::platform::tracing::TraceBuffer;
 using v8::platform::tracing::TraceConfig;
+#if !defined(V8_USE_PERFETTO)
+using v8::platform::tracing::TraceBuffer;
 using v8::platform::tracing::TraceObject;
+#endif  // !defined(V8_USE_PERFETTO)

 namespace {