From 8fd3cfe7d0f39a731c585334299f5160ad952df9 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Mon, 14 Jan 2019 14:21:21 +0100 Subject: Annotate stack traces when frames are elided through tail calls Task-number: QTBUG-72407 Change-Id: I98b96852309fc783a945797185f666196513d24b Reviewed-by: Ulf Hermann --- src/qml/jsruntime/qv4engine.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/qml/jsruntime/qv4engine.cpp') diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index 57a364b205..f00578aa70 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -1011,6 +1011,11 @@ StackTrace ExecutionEngine::stackTrace(int frameLimit) const frame.line = qAbs(f->lineNumber()); frame.column = -1; stack.append(frame); + if (f->isTailCalling) { + QV4::StackFrame frame; + frame.function = QStringLiteral("[elided tail calls]"); + stack.append(frame); + } --frameLimit; f = f->parent; } -- cgit v1.2.3