From b682e7f54014dd97efa0915949973c559d9f34a1 Mon Sep 17 00:00:00 2001 From: Luke Albao Date: Mon, 23 Oct 2023 08:27:33 -0700 Subject: [PATCH] deps: V8: cherry-pick f7d000a7ae7b MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Original commit message: [logging] Bugfix: LinuxPerfBasicLogger should log JS functions This patch fixes a typo that was introduced in commit c51041f45400928cd64fbc8f389c0dd0dd15f82f / https://chromium-review.googlesource.com/c/v8/v8/+/2336793, which reversed the behavior of the perf_basic_prof_only_functions flag. This also refactors the equivalent guard in LinuxPerfJitLogger to use the same inline CodeKind API for identifying JS Functions. This is unrelated to the bug, but it seems a fair rider to add on here. Bug: v8:14387 Change-Id: I25766b0d45f4c65dfec5ae01e094a1ed94111054 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4954225 Reviewed-by: Camillo Bruni Commit-Queue: Camillo Bruni Cr-Commit-Position: refs/heads/main@{#90501} Refs: https://github.com/v8/v8/commit/f7d000a7ae7b731805338338eb51a81fbcfe2628 PR-URL: https://github.com/nodejs/node/pull/50302 Reviewed-By: Vinícius Lourenço Claro Cardoso Reviewed-By: Debadree Chatterjee PR-URL: https://github.com/nodejs/node/pull/50115 Reviewed-By: Rafael Gonzaga Reviewed-By: Michael Dawson --- common.gypi | 2 +- deps/v8/AUTHORS | 1 + deps/v8/src/diagnostics/perf-jit.cc | 5 ++--- deps/v8/src/logging/log.cc | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common.gypi b/common.gypi index 1e16a6befc591f..bca6e568ca65ad 100644 --- a/common.gypi +++ b/common.gypi @@ -36,7 +36,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.7', + 'v8_embedder_string': '-node.8', ##### V8 defaults for Node.js ##### diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index f72bb3adc87895..80aaead7f55fd6 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -179,6 +179,7 @@ Loo Rong Jie Lu Yahan Ludovic Mermod Luis Reis +Luke Albao Luke Zarko Ma Aiguo Maciej Małecki diff --git a/deps/v8/src/diagnostics/perf-jit.cc b/deps/v8/src/diagnostics/perf-jit.cc index 59a774b270ce15..3ab0e68a4b1a80 100644 --- a/deps/v8/src/diagnostics/perf-jit.cc +++ b/deps/v8/src/diagnostics/perf-jit.cc @@ -43,6 +43,7 @@ #include "src/codegen/assembler.h" #include "src/codegen/source-position-table.h" #include "src/diagnostics/eh-frame.h" +#include "src/objects/code-kind.h" #include "src/objects/objects-inl.h" #include "src/objects/shared-function-info.h" #include "src/snapshot/embedded/embedded-data.h" @@ -225,9 +226,7 @@ void LinuxPerfJitLogger::LogRecordedBuffer( DisallowGarbageCollection no_gc; if (v8_flags.perf_basic_prof_only_functions) { CodeKind code_kind = abstract_code->kind(isolate_); - if (code_kind != CodeKind::INTERPRETED_FUNCTION && - code_kind != CodeKind::TURBOFAN && code_kind != CodeKind::MAGLEV && - code_kind != CodeKind::BASELINE) { + if (!CodeKindIsJSFunction(code_kind)) { return; } } diff --git a/deps/v8/src/logging/log.cc b/deps/v8/src/logging/log.cc index a365152eaf798f..c5008782cb1e0d 100644 --- a/deps/v8/src/logging/log.cc +++ b/deps/v8/src/logging/log.cc @@ -446,7 +446,7 @@ void LinuxPerfBasicLogger::LogRecordedBuffer(Tagged code, DisallowGarbageCollection no_gc; PtrComprCageBase cage_base(isolate_); if (v8_flags.perf_basic_prof_only_functions && - CodeKindIsBuiltinOrJSFunction(code->kind(cage_base))) { + !CodeKindIsBuiltinOrJSFunction(code->kind(cage_base))) { return; }