Add a special Debug instruction to the interpreter and use it
authorLars Knoll <lars.knoll@digia.com>
Wed, 5 Feb 2014 13:38:03 +0000 (14:38 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Wed, 5 Feb 2014 15:14:56 +0000 (16:14 +0100)
commit4dfe58d27ced74c0e28c1764ac036d7ec27f14c9
treea18f06e009fea392bf7fd960f1cf4bce01fcd46b
parent1cf089f9d436715955d6eb267ff609d7fafad78c
Add a special Debug instruction to the interpreter and use it

This avoid having to check for the debugger at every instruction
we execute. Instead we only add debug instructions at the beginning
of every line and every basic block when we have a debugger.

This still allows interrupting the JS execution at any time (as we
can't loop inside a basic block), and single stepping through lines.
But it has no overhead when the debugger is not running and a lot
less when it is running.

Change-Id: Ib17170b42944b608fc6caa1891082205dd2b2763
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
src/qml/compiler/qv4instr_moth_p.h
src/qml/compiler/qv4isel_moth.cpp
src/qml/jsruntime/qv4debugging.cpp
src/qml/jsruntime/qv4vme_moth.cpp