diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2013-08-30 10:29:16 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-02 14:32:47 +0200 |
commit | e360eaa02fb1a9baae89b473e2b5e8cc9d1bc609 (patch) | |
tree | 02256b5944400511182d3749d37bb88e5cb4a2a4 /src/qml/compiler/qv4isel_moth_p.h | |
parent | 729cde55784e17a0e923caa8142cef6918146cd2 (diff) |
Temporarily collect a map of all functions in the engine
At the moment we collect a lot of compilation units (one per binding
expression!), which for long running QML accumulates and creates a horrible
performance when trying to retrieve back traces. There is work in progress
to reduces the number of units down to one per QML file, and then the
fixed sorted QVector might proof to be a more efficient data structure
for the lookups.
But until that code lands, this patch proposes to use a QMap instead for the
time being, that tracks all functions. This brings down the qtquickcontrols
auto-test run from 2.5 minutes to just under a minute on my machine.
Change-Id: I45bf609055877081daa984de90f291a030f2f24f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4isel_moth_p.h')
-rw-r--r-- | src/qml/compiler/qv4isel_moth_p.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/qml/compiler/qv4isel_moth_p.h b/src/qml/compiler/qv4isel_moth_p.h index 1b4d8b6d77..43e792ccc7 100644 --- a/src/qml/compiler/qv4isel_moth_p.h +++ b/src/qml/compiler/qv4isel_moth_p.h @@ -58,6 +58,7 @@ class StackSlotAllocator; struct CompilationUnit : public QV4::CompiledData::CompilationUnit { + virtual ~CompilationUnit(); virtual void linkBackendToEngine(QV4::ExecutionEngine *engine); QVector<QByteArray> codeRefs; |