From 4e5c096153b8a5d6e110ef8a6db265b0bc138ce1 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Mon, 8 Jan 2024 13:40:12 +0100 Subject: QtQml: Move type name cache into base CU Change-Id: Ie3504f16b34859cdef72f8138e6058dcc2d1f58f Reviewed-by: Fabian Kosmale --- src/qml/common/qv4compileddata.cpp | 7 +++++++ src/qml/common/qv4compileddata_p.h | 11 +++++------ 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'src/qml/common') diff --git a/src/qml/common/qv4compileddata.cpp b/src/qml/common/qv4compileddata.cpp index 6087db9b92..253c9a5e77 100644 --- a/src/qml/common/qv4compileddata.cpp +++ b/src/qml/common/qv4compileddata.cpp @@ -3,6 +3,7 @@ #include "qv4compileddata_p.h" +#include #include #include @@ -39,6 +40,12 @@ bool ResolvedTypeReferenceMap::addToHash( return true; } +CompilationUnit::CompilationUnit( + const Unit *unitData, const QString &fileName, const QString &finalUrlString) +{ + setUnitData(unitData, nullptr, fileName, finalUrlString); +} + CompilationUnit::~CompilationUnit() { qDeleteAll(resolvedTypes); diff --git a/src/qml/common/qv4compileddata_p.h b/src/qml/common/qv4compileddata_p.h index 7e768cd589..5d4c7747d1 100644 --- a/src/qml/common/qv4compileddata_p.h +++ b/src/qml/common/qv4compileddata_p.h @@ -1487,6 +1487,7 @@ struct CompilationUnit final : public QQmlRefCounted QVector bindingPropertyDataPerObject; ResolvedTypeReferenceMap resolvedTypes; + QQmlRefPointer typeNameCache; QQmlPropertyCacheVector propertyCaches; @@ -1495,12 +1496,6 @@ struct CompilationUnit final : public QQmlRefCounted public: using CompiledObject = CompiledData::Object; - CompilationUnit(const Unit *unitData = nullptr, const QString &fileName = QString(), - const QString &finalUrlString = QString()) - { - setUnitData(unitData, nullptr, fileName, finalUrlString); - } - explicit CompilationUnit(const Unit *unitData, const QQmlPrivate::AOTCompiledFunction *aotCompiledFunctions, const QString &fileName = QString(), const QString &finalUrlString = QString()) : CompilationUnit(unitData, fileName, finalUrlString) @@ -1508,6 +1503,10 @@ public: this->aotCompiledFunctions = aotCompiledFunctions; } + Q_QML_EXPORT CompilationUnit( + const Unit *unitData = nullptr, const QString &fileName = QString(), + const QString &finalUrlString = QString()); + Q_QML_EXPORT ~CompilationUnit(); const Unit *unitData() const { return data; } -- cgit v1.2.3