diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2017-10-05 11:02:36 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-10-06 12:56:11 +0000 |
commit | 55ecfd409ca6aa8018be8cc2697b27928fbd4cc2 (patch) | |
tree | 22f2eb3c976f0a305c37856d167f89fdca8667f8 /src/qml/compiler/qv4compileddata_p.h | |
parent | 080a5c705aa9c04a332c2f95a216853b098d9d6b (diff) |
Simplify compilation unit tracking in the execution engine
Instead of collecting all compilation units in a hash, let's collect
linked units in a doubly-linked lists that makes the removal at
destruction time dramatically cheaper.
Change-Id: I9fd59600d082be3566f605d90f14a86a58ac9296
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/compiler/qv4compileddata_p.h')
-rw-r--r-- | src/qml/compiler/qv4compileddata_p.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/qml/compiler/qv4compileddata_p.h b/src/qml/compiler/qv4compileddata_p.h index 84777b3533..440dc3e013 100644 --- a/src/qml/compiler/qv4compileddata_p.h +++ b/src/qml/compiler/qv4compileddata_p.h @@ -66,6 +66,7 @@ #ifndef V4_BOOTSTRAP #include <private/qqmltypenamecache_p.h> #include <private/qqmlpropertycache_p.h> +#include "private/qintrusivelist_p.h" #endif QT_BEGIN_NAMESPACE @@ -837,6 +838,7 @@ struct Q_QML_PRIVATE_EXPORT CompilationUnit : public CompilationUnitBase, public virtual QV4::CompiledData::Unit *createUnitData(QmlIR::Document *irDocument); #ifndef V4_BOOTSTRAP + QIntrusiveListNode nextCompilationUnit; ExecutionEngine *engine; QQmlEnginePrivate *qmlEngine; // only used in QML environment for composite types, not in plain QJSEngine case. |