summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qmetatype.cpp
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2021-02-03 22:13:15 +0100
committerFabian Kosmale <fabian.kosmale@qt.io>2021-02-05 07:40:35 +0100
commit0a86e7fb6d83559905146fc8ba43eaba8da780ed (patch)
tree7b14c88e5926a1260a88453b6a5cf134c971ed16 /src/corelib/kernel/qmetatype.cpp
parenta1e9817cec5e0dccf26040d0b0d24e974841d5b8 (diff)
QMetaType: avoid id() calls in compare
We can avoid the overhead of the out-of-line function calls if the id is already set. As a drive-by, use relaxed loads in QMetaType::id (was: acquire). Change-Id: I1d53dbf7e58eae80776ff36334ebf0642ba7842f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel/qmetatype.cpp')
-rw-r--r--src/corelib/kernel/qmetatype.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index 06dbdbde18..71fcc6d407 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -490,8 +490,8 @@ bool QMetaType::isRegistered() const
int QMetaType::id() const
{
if (d_ptr) {
- if (d_ptr->typeId)
- return d_ptr->typeId;
+ if (int id = d_ptr->typeId.loadRelaxed())
+ return id;
auto reg = customTypeRegistry();
if (reg) {
return reg->registerCustomType(d_ptr);