From d76a81cfc991025161eba3a17c856a3665a51c7f Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 25 Jun 2013 15:19:27 +0200 Subject: [PATCH] Don't use a PersistentValue in QHashedV4String The class is only used on the stack and critical to performance in a couple of places. This speeds up some QML benchmarks quite a bit. Change-Id: Id36682487396d42ddacdc71f7a32792a09318cf9 Reviewed-by: Simon Hausmann --- src/qml/qml/ftw/qhashedstring_p.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/qml/qml/ftw/qhashedstring_p.h b/src/qml/qml/ftw/qhashedstring_p.h index 8d16892..8af9e3f 100644 --- a/src/qml/qml/ftw/qhashedstring_p.h +++ b/src/qml/qml/ftw/qhashedstring_p.h @@ -117,7 +117,7 @@ public: inline QString toString() const; private: - QV4::PersistentValue m_string; + QV4::Value m_string; }; class QHashedCStringRef; @@ -1151,32 +1151,32 @@ QHashedV4String &QHashedV4String::operator=(const QHashedV4String &other) bool QHashedV4String::operator==(const QHashedV4String &string) { - return m_string.value().asString()->isEqualTo(string.m_string.value().asString()); + return m_string.asString()->isEqualTo(string.m_string.asString()); } quint32 QHashedV4String::hash() const { - return m_string.value().asString()->hashValue(); + return m_string.asString()->hashValue(); } int QHashedV4String::length() const { - return m_string.value().asString()->toQString().length(); + return m_string.asString()->toQString().length(); } quint32 QHashedV4String::symbolId() const { - return m_string.value().asString()->identifier; + return m_string.asString()->identifier; } QV4::Value QHashedV4String::string() const { - return m_string.value(); + return m_string; } QString QHashedV4String::toString() const { - return m_string.value().toQString(); + return m_string.toQString(); } QHashedStringRef::QHashedStringRef() -- 2.7.4