aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2016-10-14 12:07:47 +0200
committerErik Verbruggen <erik.verbruggen@qt.io>2016-10-25 09:02:19 +0000
commit52599c3cca35be20b53d0de6604743061c3e1c8c (patch)
treec52633d91a01e57d6370904203b903a7f536d6d3
parent708bb28c98721e83f8b5c12a2e0653834a68de23 (diff)
QML: Hint LTO to never inline QQmlPropertyCache::resolve
... so the fast-path doesn't get bogged down by accidental slow-path inlining. Change-Id: Ifb3eadf5e96b5a61f41fb1f0d32269e43f13be57 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r--src/qml/qml/qqmlpropertycache_p.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlpropertycache_p.h b/src/qml/qml/qqmlpropertycache_p.h
index 18ae32ebf9..6281b9c05e 100644
--- a/src/qml/qml/qqmlpropertycache_p.h
+++ b/src/qml/qml/qqmlpropertycache_p.h
@@ -468,7 +468,7 @@ private:
QQmlPropertyData *ensureResolved(QQmlPropertyData*) const;
- void resolve(QQmlPropertyData *) const;
+ Q_NEVER_INLINE void resolve(QQmlPropertyData *) const;
void updateRecur(const QMetaObject *);
template<typename K>
@@ -677,7 +677,7 @@ bool QQmlPropertyData::operator==(const QQmlPropertyRawData &other)
inline QQmlPropertyData *QQmlPropertyCache::ensureResolved(QQmlPropertyData *p) const
{
- if (p && p->notFullyResolved())
+ if (p && Q_UNLIKELY(p->notFullyResolved()))
resolve(p);
return p;