diff options
author | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-11-30 12:04:59 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2016-01-07 16:25:12 +0000 |
commit | eae5a20b099450985442c70186fd7a7be442f133 (patch) | |
tree | e7be003e4ed86ef69ad334eebfd8689cdb1e25b3 /src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h | |
parent | 881bb537c92684d25fae4fec9ac2dd61e1f9723c (diff) |
V4 Debugger: Allow expression evaluation without pausing
We can schedule jobs into the GUI thread just fine, even if the
debugger is running. They will run in global scope then. The only
restriction is that we need exactly one engine to be running in order
to do that, as otherwise we cannot decide which engine to use.
To avoid interaction with the engine from the debugger thread we
move the value lookup functionality into the data collector, and
drop the RefHolder.
Change-Id: Ifae124d70f42e488ed9a1b6794baef638992ddb1
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h')
-rw-r--r-- | src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h b/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h index 678ebe43b8..2d9932b838 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h +++ b/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h @@ -78,19 +78,13 @@ public: void send(QJsonObject v8Payload); QJsonObject buildScope(int frameNr, int scopeNr, QV4Debugger *debugger); - QJsonArray buildRefs(); - QJsonValue lookup(QV4DataCollector::Ref refId); QJsonValue toRef(QV4DataCollector::Ref ref); QJsonObject buildFrame(const QV4::StackFrame &stackFrame, int frameNr, QV4Debugger *debugger); int selectedFrame() const; void selectFrame(int frameNr); - void clearHandles(QV4::ExecutionEngine *engine); - - QV4DataCollector *collector() const; QV4DebuggerAgent debuggerAgent; - QV4DataCollector::Refs *refs(); protected: void messageReceived(const QByteArray &) Q_DECL_OVERRIDE; @@ -108,9 +102,7 @@ private: QStringList breakOnSignals; static int sequence; - QV4DataCollector::Refs collectedRefs; - QScopedPointer<QV4DataCollector> theCollector; int theSelectedFrame; void addHandler(V8CommandHandler* handler); |