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>
This commit is contained in:
Antoine du Hamel committed 2026-10-23 10:06:18 +02:00
1 parent 6353f4026c
commit 7c2eaad296
4 files changed
+7 -2

No files matched your search

+1 -1
View File
@@ -50,7 +50,7 @@
# Reset this number to 0 on major V8 upgrades. # Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8. # 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 ##### ##### V8 defaults for Node.js #####
+2
View File
@@ -35,6 +35,7 @@ class TraceEventListener;
const int kTraceMaxNumArgs = 2; const int kTraceMaxNumArgs = 2;
#if !defined(V8_USE_PERFETTO)
class V8_PLATFORM_EXPORT TraceObject { class V8_PLATFORM_EXPORT TraceObject {
public: public:
union ArgValue { union ArgValue {
@@ -176,6 +177,7 @@ class V8_PLATFORM_EXPORT TraceBuffer {
TraceBuffer(const TraceBuffer&) = delete; TraceBuffer(const TraceBuffer&) = delete;
void operator=(const TraceBuffer&) = delete; void operator=(const TraceBuffer&) = delete;
}; };
#endif // !defined(V8_USE_PERFETTO)
// Options determines how the trace buffer stores data. // Options determines how the trace buffer stores data.
enum TraceRecordMode { enum TraceRecordMode {
+1
View File
@@ -65,6 +65,7 @@ if (v8_enable_google_benchmark) {
"//:v8", "//:v8",
"//:v8_internal_headers", "//:v8_internal_headers",
"//:v8_libbase", "//:v8_libbase",
"//:v8_tracing",
"//third_party/google_benchmark_chrome:google_benchmark", "//third_party/google_benchmark_chrome:google_benchmark",
] ]
} }
+3 -1
View File
@@ -2955,9 +2955,11 @@ TEST(DeoptUntrackedFunction) {
iprofiler->DeleteProfile(iprofile); iprofiler->DeleteProfile(iprofile);
} }
using v8::platform::tracing::TraceBuffer;
using v8::platform::tracing::TraceConfig; using v8::platform::tracing::TraceConfig;
#if !defined(V8_USE_PERFETTO)
using v8::platform::tracing::TraceBuffer;
using v8::platform::tracing::TraceObject; using v8::platform::tracing::TraceObject;
#endif // !defined(V8_USE_PERFETTO)
namespace { namespace {