summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qpropertyprivate.h
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2021-06-25 15:10:23 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-08-04 23:10:19 +0000
commit7aac325c3482089eb1441e91fe31672ce4f19f60 (patch)
treec2243a088663916b26f79533de1f06223462cf72 /src/corelib/kernel/qpropertyprivate.h
parent83ef7ff7f9d362b73da4de471513ce0b7d7cd117 (diff)
Avoid TLS access for groupUpdateData
By putting the groupUpdateData pointer into the same thread local as the binding status, we avoid having to fetch two thread_local variables. Moreover, we can reuse the caching mechanism which we have in place for QBindingStatus to avoid costly TLS lookups. Change-Id: Iaea515763510daab83f89b8e74f35a80965d6965 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 71fea09e1a8d1fc5d9cca7c504f45b77725c0e21) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/corelib/kernel/qpropertyprivate.h')
-rw-r--r--src/corelib/kernel/qpropertyprivate.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/corelib/kernel/qpropertyprivate.h b/src/corelib/kernel/qpropertyprivate.h
index 5b6a9557f9..2fa82f6342 100644
--- a/src/corelib/kernel/qpropertyprivate.h
+++ b/src/corelib/kernel/qpropertyprivate.h
@@ -59,6 +59,8 @@
QT_BEGIN_NAMESPACE
+class QBindingStorage;
+
namespace QtPrivate {
// QPropertyBindingPrivatePtr operates on a RefCountingMixin solely so that we can inline
// the constructor and copy constructor
@@ -302,6 +304,7 @@ public:
}
void registerWithCurrentlyEvaluatingBinding() const;
void notifyObservers(QUntypedPropertyData *propertyDataPtr) const;
+ void notifyObservers(QUntypedPropertyData *propertyDataPtr, QBindingStorage *storage) const;
private:
/*!
\internal