From 1181286d43bd3f0d4712307c60563d75d4615de3 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Wed, 25 Nov 2020 11:36:24 +0100 Subject: Optimize code in QTaggedPointer Don't execute instructions that will never do anything. Directly add the tag to the pointer in the constructor to avoid additional masking operations, and avoid a masking op that is in practice a no-op in setTag(). Do the same optimization in QTagPreservingPointerToPointer. Change-Id: Ia364f89cbe6ccc876ec9bda0c239fc4f57c10501 Reviewed-by: Fabian Kosmale (cherry picked from commit 2721728c9056b442c0281f20792f19eb6a491aa0) Reviewed-by: Ulf Hermann --- src/corelib/kernel/qpropertyprivate.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/corelib/kernel/qpropertyprivate.h') diff --git a/src/corelib/kernel/qpropertyprivate.h b/src/corelib/kernel/qpropertyprivate.h index 0edfe5781b..91d9e56d2f 100644 --- a/src/corelib/kernel/qpropertyprivate.h +++ b/src/corelib/kernel/qpropertyprivate.h @@ -283,7 +283,7 @@ public: void setPointer(T *ptr) { - *d = (reinterpret_cast(ptr) & QTaggedPointer::pointerMask()) | (*d & QTaggedPointer::tagMask()); + *d = reinterpret_cast(ptr) | (*d & QTaggedPointer::tagMask()); } T *get() const -- cgit v1.2.3