Commit 9a068b9f authored by Camillo Bruni's avatar Camillo Bruni Committed by Commit Bot

[tools] System analyzer: fix parsing linlined deopt location

Change-Id: I424e4de75cfd628d034033c99ce2a6e7b88c6a52
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2857958Reviewed-by: 's avatarPatrick Thier <pthier@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74269}
parent 00845abb
......@@ -230,17 +230,21 @@ export class Processor extends LogReader {
this.addSourcePosition(codeEntry, logEntry);
logEntry.functionSourcePosition = logEntry.sourcePosition;
// custom parse deopt location
if (deoptLocation !== '<unknown>') {
if (deoptLocation === '<unknown>') return;
// Handle deopt location for inlined code: <location> inlined at <location>
const inlinedPos = deoptLocation.indexOf(' inlined at ');
if (inlinedPos > 0) {
deoptLocation = deoptLocation.substring(0, inlinedPos)
}
const colSeparator = deoptLocation.lastIndexOf(':');
const rowSeparator = deoptLocation.lastIndexOf(':', colSeparator - 1);
const script = this.getScript(deoptLocation.substring(1, rowSeparator));
if (!script) return;
const line =
parseInt(deoptLocation.substring(rowSeparator + 1, colSeparator));
const column = parseInt(
deoptLocation.substring(colSeparator + 1, deoptLocation.length - 1));
logEntry.sourcePosition =
script.addSourcePosition(line, column, logEntry);
}
logEntry.sourcePosition = script.addSourcePosition(line, column, logEntry);
}
processScriptSource(scriptId, url, source) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment