From 71fea09e1a8d1fc5d9cca7c504f45b77725c0e21 Mon Sep 17 00:00:00 2001 From: Fabian Kosmale Date: Fri, 25 Jun 2021 15:10:23 +0200 Subject: 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. Pick-to: 6.2 Change-Id: Iaea515763510daab83f89b8e74f35a80965d6965 Reviewed-by: Lars Knoll --- src/corelib/kernel/qpropertyprivate.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/corelib/kernel/qpropertyprivate.h') 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 -- cgit v1.2.3