diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2018-07-20 15:19:17 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2018-07-31 07:28:28 +0000 |
commit | fcf9b7efa5b2a0d8f49e59b2a977b8122632aff6 (patch) | |
tree | 18f37a5a7775c5876947236fc6913a3a3e227f36 /src/quick/util/qquickpropertychanges.cpp | |
parent | 8e45393d10ca649c46a82eb8c125bd38cc5b5615 (diff) |
Clean up constant storage for CompiledData::Binding
Store doubles in bindings in the constant table of the compilation unit
instead of each binding. This removes one of the two 8 byte members of
the value union and also allows for sharing of constants throughout a
.qml file.
Change-Id: I1d7daafdb7f24e34c14cd160d2dcb2c5aaac1c50
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/quick/util/qquickpropertychanges.cpp')
-rw-r--r-- | src/quick/util/qquickpropertychanges.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/quick/util/qquickpropertychanges.cpp b/src/quick/util/qquickpropertychanges.cpp index 4ce904ffcf..df02b9f0c3 100644 --- a/src/quick/util/qquickpropertychanges.cpp +++ b/src/quick/util/qquickpropertychanges.cpp @@ -314,7 +314,7 @@ void QQuickPropertyChangesPrivate::decodeBinding(const QString &propertyPrefix, QQmlBinding::Identifier id = QQmlBinding::Invalid; if (!binding->isTranslationBinding()) { - expression = binding->valueAsString(qmlUnit); + expression = binding->valueAsString(compilationUnit.data()); id = binding->value.compiledScriptIndex; } expressions << ExpressionChange(propertyName, binding, id, expression, url, line, column); @@ -328,10 +328,10 @@ void QQuickPropertyChangesPrivate::decodeBinding(const QString &propertyPrefix, case QV4::CompiledData::Binding::Type_TranslationById: Q_UNREACHABLE(); case QV4::CompiledData::Binding::Type_String: - var = binding->valueAsString(qmlUnit); + var = binding->valueAsString(compilationUnit.data()); break; case QV4::CompiledData::Binding::Type_Number: - var = binding->valueAsNumber(); + var = binding->valueAsNumber(compilationUnit->constants); break; case QV4::CompiledData::Binding::Type_Boolean: var = binding->valueAsBoolean(); |