diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2021-02-03 22:13:15 +0100 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2021-02-05 07:40:35 +0100 |
commit | 0a86e7fb6d83559905146fc8ba43eaba8da780ed (patch) | |
tree | 7b14c88e5926a1260a88453b6a5cf134c971ed16 /src/corelib/kernel/qmetatype.cpp | |
parent | a1e9817cec5e0dccf26040d0b0d24e974841d5b8 (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.cpp | 4 |
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); |