diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2016-10-14 12:07:47 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2016-10-25 09:02:19 +0000 |
commit | 52599c3cca35be20b53d0de6604743061c3e1c8c (patch) | |
tree | c52633d91a01e57d6370904203b903a7f536d6d3 | |
parent | 708bb28c98721e83f8b5c12a2e0653834a68de23 (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.h | 4 |
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; |