From 12d2b60218542e900076aebfce73a229a8b29ae1 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Wed, 15 Jun 2016 10:12:07 +0200 Subject: Small data structure cleanup Changed the QList for IR object storage to use a QVector instead, to secure the guarantee of contiguous storage in memory. This will later be useful for direct indexing. Change-Id: I3c0a5f2c346627c8436971ec1d69160865eeb22e Reviewed-by: Lars Knoll --- src/qml/compiler/qqmlirbuilder_p.h | 4 ++-- src/qml/compiler/qqmlpropertycachecreator_p.h | 2 +- src/qml/compiler/qqmltypecompiler.cpp | 2 +- src/qml/compiler/qqmltypecompiler_p.h | 22 +++++++++++----------- 4 files changed, 15 insertions(+), 15 deletions(-) (limited to 'src/qml') diff --git a/src/qml/compiler/qqmlirbuilder_p.h b/src/qml/compiler/qqmlirbuilder_p.h index 8d671961c6..2409050f7d 100644 --- a/src/qml/compiler/qqmlirbuilder_p.h +++ b/src/qml/compiler/qqmlirbuilder_p.h @@ -397,7 +397,7 @@ struct Q_QML_PRIVATE_EXPORT Document QList pragmas; QQmlJS::AST::UiProgram *program; int indexOfRootObject; - QList objects; + QVector objects; QV4::Compiler::JSUnitGenerator jsGenerator; quint32 unitFlags; @@ -499,7 +499,7 @@ public: QList _imports; QList _pragmas; - QList _objects; + QVector _objects; QV4::CompiledData::TypeReferenceMap _typeReferences; diff --git a/src/qml/compiler/qqmlpropertycachecreator_p.h b/src/qml/compiler/qqmlpropertycachecreator_p.h index 5f49e6d973..126bdbb017 100644 --- a/src/qml/compiler/qqmlpropertycachecreator_p.h +++ b/src/qml/compiler/qqmlpropertycachecreator_p.h @@ -78,7 +78,7 @@ protected: QQmlEnginePrivate *enginePrivate; - const QList &qmlObjects; + const QVector &qmlObjects; const QQmlImports *imports; QHash *resolvedTypes; QQmlPropertyCacheVector propertyCaches; diff --git a/src/qml/compiler/qqmltypecompiler.cpp b/src/qml/compiler/qqmltypecompiler.cpp index 3e7fde871c..c75f951adb 100644 --- a/src/qml/compiler/qqmltypecompiler.cpp +++ b/src/qml/compiler/qqmltypecompiler.cpp @@ -336,7 +336,7 @@ QHash *QQmlType return &m_resolvedTypes; } -QList *QQmlTypeCompiler::qmlObjects() +QVector *QQmlTypeCompiler::qmlObjects() { return &document->objects; } diff --git a/src/qml/compiler/qqmltypecompiler_p.h b/src/qml/compiler/qqmltypecompiler_p.h index 07ad65d473..1e01f72228 100644 --- a/src/qml/compiler/qqmltypecompiler_p.h +++ b/src/qml/compiler/qqmltypecompiler_p.h @@ -96,7 +96,7 @@ public: QQmlEnginePrivate *enginePrivate() const { return engine; } const QQmlImports *imports() const; QHash *resolvedTypes(); - QList *qmlObjects(); + QVector *qmlObjects(); int rootObjectIndex() const; void setPropertyCaches(QQmlPropertyCacheVector &&caches); const QQmlPropertyCacheVector *propertyCaches() const; @@ -169,7 +169,7 @@ private: bool convertSignalHandlerExpressionsToFunctionDeclarations(const QmlIR::Object *obj, const QString &typeName, QQmlPropertyCache *propertyCache); QQmlEnginePrivate *enginePrivate; - const QList &qmlObjects; + const QVector &qmlObjects; const QQmlImports *imports; const QHash &customParsers; const QHash &resolvedTypes; @@ -200,7 +200,7 @@ private: int evaluateEnum(const QString &scope, const QByteArray &enumValue, bool *ok) const; - const QList &qmlObjects; + const QVector &qmlObjects; const QQmlPropertyCacheVector * const propertyCaches; const QQmlImports *imports; QHash *resolvedTypes; @@ -216,7 +216,7 @@ public: private: void scanObjectRecursively(int objectIndex, bool annotateScriptBindings = false); - const QList &qmlObjects; + const QVector &qmlObjects; const QHash &customParsers; }; @@ -228,7 +228,7 @@ public: void annotateBindingsToAliases(); private: - const QList &qmlObjects; + const QVector &qmlObjects; const QQmlPropertyCacheVector * const propertyCaches; }; @@ -240,7 +240,7 @@ public: void scan(); private: - const QList &qmlObjects; + const QVector &qmlObjects; const QQmlPropertyCacheVector * const propertyCaches; }; @@ -260,7 +260,7 @@ protected: QQmlEnginePrivate *enginePrivate; QQmlJS::MemoryPool *pool; - QList *qmlObjects; + QVector *qmlObjects; const int indexOfRootObject; // indices of the objects that are actually Component {} @@ -284,7 +284,7 @@ public: private: bool scanObject(int objectIndex); - QList *qmlObjects; + QVector *qmlObjects; const QQmlPropertyCacheVector * const propertyCaches; const QHash &customParsers; @@ -333,7 +333,7 @@ private: const QHash &resolvedTypes; const QHash &customParsers; - const QList &qmlObjects; + const QVector &qmlObjects; const QQmlPropertyCacheVector * const propertyCaches; QmlIR::JSCodeGen * const v4CodeGen; }; @@ -348,7 +348,7 @@ public: private: void mergeDefaultProperties(int objectIndex); - const QList &qmlObjects; + const QVector &qmlObjects; const QQmlPropertyCacheVector * const propertyCaches; }; @@ -394,7 +394,7 @@ private: bool simplifyBinding(QV4::IR::Function *function, QmlIR::Binding *binding); bool detectTranslationCallAndConvertBinding(QmlIR::Binding *binding); - const QList &qmlObjects; + const QVector &qmlObjects; QV4::IR::Module *jsModule; bool _canSimplify; -- cgit v1.2.3