From 271232d85654cee32322b1c8a3a39ef647ad02e2 Mon Sep 17 00:00:00 2001 From: Ruslan Lesiutin Date: Mon, 5 May 2025 02:20:58 -0700 Subject: [PATCH] Make call frames point to function definition, not callsite (#51084) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/51084 # Changelog: [Internal] Reviewed By: dannysu Differential Revision: D73850528 fbshipit-source-id: fc1c22c5bf7cf71f76cf49643af06eeb188b770c --- .../HermesRuntimeSamplingProfileSerializer.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/react-native/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp b/packages/react-native/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp index dea271f42a3..64548dadc8c 100644 --- a/packages/react-native/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +++ b/packages/react-native/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp @@ -76,12 +76,13 @@ RuntimeSamplingProfile::SampleCallStackFrame convertJSFunctionHermesFrame( frame.getFunctionName(), frame.hasUrl() ? std::optional{frame.getUrl()} : std::nullopt, - frame.hasLineNumber() ? std::optional{frame.getLineNumber() - 1} - // Hermes VM keeps line numbers as 1-based. Convert - // to 0-based. - : std::nullopt, - frame.hasColumnNumber() - ? std::optional{frame.getColumnNumber() - 1} + frame.hasFunctionLineNumber() + ? std::optional{frame.getFunctionLineNumber() - 1} + // Hermes VM keeps line numbers as 1-based. Convert + // to 0-based. + : std::nullopt, + frame.hasFunctionColumnNumber() + ? std::optional{frame.getFunctionColumnNumber() - 1} // Hermes VM keeps column numbers as 1-based. Convert to // 0-based. : std::nullopt,