From 4e0174a88e66b9d9471c98eeb7d8be6209ba5c98 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 21 Aug 2017 10:59:53 +0200 Subject: Move line number information into a side table Don't emit any Line instructions anymore, and instead store the info in a side table in the compiled data, where it can be looked up on demand. Change-Id: Idcaf3bf4ee4129fd62f9e717bf1277dc6a34fe19 Reviewed-by: Erik Verbruggen --- src/plugins/qmltooling/qmldbg_debugger/qv4debugger.cpp | 4 ++-- src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.cpp | 8 ++++---- .../qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/qmltooling/qmldbg_debugger/qv4debugger.cpp b/src/plugins/qmltooling/qmldbg_debugger/qv4debugger.cpp index c95d4ea99f..4ef377922b 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qv4debugger.cpp +++ b/src/plugins/qmltooling/qmldbg_debugger/qv4debugger.cpp @@ -158,7 +158,7 @@ QV4Debugger::ExecutionState QV4Debugger::currentExecutionState() const { ExecutionState state; state.fileName = getFunction()->sourceFile(); - state.lineNumber = engine()->currentStackFrame->line; + state.lineNumber = engine()->currentStackFrame->lineNumber(); return state; } @@ -203,7 +203,7 @@ void QV4Debugger::maybeBreakAtInstruction() pauseAndWait(PauseRequest); } else if (m_haveBreakPoints) { if (QV4::Function *f = getFunction()) { - const int lineNumber = engine()->currentStackFrame->line; + const int lineNumber = engine()->currentStackFrame->lineNumber(); if (reallyHitTheBreakPoint(f->sourceFile(), lineNumber)) pauseAndWait(BreakPointHit); } diff --git a/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.cpp b/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.cpp index 316fd87dd4..2a46dc60a6 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.cpp +++ b/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.cpp @@ -84,11 +84,11 @@ void QV4DebuggerAgent::debuggerPaused(QV4Debugger *debugger, QV4Debugger::PauseR break; body.insert(QStringLiteral("invocationText"), frame->function()); - body.insert(QStringLiteral("sourceLine"), frame->line - 1); - if (frame->column > 0) - body.insert(QStringLiteral("sourceColumn"), frame->column); + body.insert(QStringLiteral("sourceLine"), frame->lineNumber() - 1); +// if (frame->column > 0) +// body.insert(QStringLiteral("sourceColumn"), frame->column); QJsonArray breakPoints; - foreach (int breakPointId, breakPointIds(frame->source(), frame->line)) + foreach (int breakPointId, breakPointIds(frame->source(), frame->lineNumber())) breakPoints.push_back(breakPointId); body.insert(QStringLiteral("breakpoints"), breakPoints); script.insert(QStringLiteral("name"), frame->source()); diff --git a/src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp b/src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp index c879c77fcd..5015c39c8e 100644 --- a/src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp +++ b/src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp @@ -344,7 +344,7 @@ void NativeDebugger::handleBacktrace(QJsonObject *response, const QJsonObject &a frame.insert(QStringLiteral("function"), functionName->toQString()); frame.insert(QStringLiteral("file"), function->sourceFile()); - int line = f->line; + int line = f->lineNumber(); frame.insert(QStringLiteral("line"), (line < 0 ? -line : line)); frameArray.push_back(frame); @@ -607,7 +607,7 @@ void NativeDebugger::maybeBreakAtInstruction() if (m_service->m_breakHandler->m_haveBreakPoints) { if (QV4::Function *function = getFunction()) { - const int lineNumber = m_engine->currentStackFrame->line; + const int lineNumber = m_engine->currentStackFrame->lineNumber(); if (reallyHitTheBreakPoint(function, lineNumber)) pauseAndWait(); } @@ -668,7 +668,7 @@ void NativeDebugger::pauseAndWait() if (QV4::CppStackFrame *frame = m_engine->currentStackFrame) { QV4::Function *function = frame->v4Function; event.insert(QStringLiteral("file"), function->sourceFile()); - int line = frame->line; + int line = frame->lineNumber(); event.insert(QStringLiteral("line"), (line < 0 ? -line : line)); } -- cgit v1.2.3