From 55ecfd409ca6aa8018be8cc2697b27928fbd4cc2 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Thu, 5 Oct 2017 11:02:36 +0200 Subject: 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 --- src/qml/compiler/qv4compileddata_p.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/qml/compiler/qv4compileddata_p.h') 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 #include +#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. -- cgit v1.2.3