Go to file
Igor Kushnir 0dbbda670d QMimeDatabasePrivate: deduplicate QStringLiteral
defaultMimeType() cannot be moved out of the class and defined in
qmimedatabase.cpp, because it is called from QMimeType::isDefault() in
qmimetype.cpp.

Return m_defaultMimeType constant by reference rather than by value from
the inline helper function. This eliminates useless copying of QString
when calling code needs only a reference, and so improves performance.
Even though m_defaultMimeType is initialized with a QStringLiteral and
its QArrayDataPointer has d == nullptr, QArrayDataPointer's ref() and
deref() still have to compare d with nullptr to decide that no reference
count manipulation is needed. Compilers might be unable to reorder these
checks with surrounding code because they guard reference count
manipulation. Branch misprediction could further harm performance.
Optimizing these checks out can be difficult for compilers.

Change-Id: I3ffa0fdc5ad948452301dd9688073b5323a7983b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-12-21 21:21:50 +02:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin Provide a qtpaths wrapper script when cross-building Qt 2021-11-08 13:41:03 +01:00
cmake CMake: Remove WinRT leftovers from build system 2021-12-18 08:01:39 +08:00
coin coin: Fix sccache to be used when cross-compiling tests 2021-12-16 19:44:13 +01:00
config.tests wasm: add simd support 2021-10-05 11:30:06 +10:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Drop Qt4 support 2021-12-07 01:56:17 +03:00
examples bindablesubscription: Remove duplicated file entry 2021-12-19 14:38:27 +01:00
lib
libexec Fix various configure time warnings about missing QT_BEGIN_NAMESPACE 2021-11-01 17:17:29 +02:00
mkspecs wasm: remove deprecated argument for source maps 2021-12-13 06:53:22 +00:00
qmake qmake/Xcode: Mark "Qt Preprocess" build phase as always out of date 2021-12-09 17:28:35 +01:00
src QMimeDatabasePrivate: deduplicate QStringLiteral 2021-12-21 21:21:50 +02:00
tests QStringBuilder: handle freeSpaceAtBegin() in op+= 2021-12-21 18:14:17 +01:00
util QLocale: Extend support for language codes 2021-12-09 03:45:08 +01:00
.cmake.conf Revert "CMake: Warn if cmake_minimum_required has an unsupported low version" 2021-10-04 15:55:10 +02:00
.gitattributes
.gitignore Assume qhelpgenerator in libexec instead of bin 2021-11-08 19:27:32 +01:00
.lgtm.yml
.tag
CMakeLists.txt Add _make_aab target 2021-11-30 20:16:13 +01:00
conanfile.py use short_path attribute 2021-12-07 14:19:38 +00:00
config_help.txt Document that schannel is on by default 2021-10-06 15:05:20 +02:00
configure Remove unsupported, host-related options from configure shell script 2021-08-05 02:44:27 +02:00
configure.bat Fix our usage of CMake script mode in Windows configure 2021-08-20 19:44:43 +02:00
configure.cmake Support configure -platform linux-clang-libc++ 2021-12-14 20:04:43 +01:00
dependencies.yaml
LICENSE.FDL Remove trailing whitespace in LICENSE.FDL 2021-11-26 18:28:49 +01:00
LICENSE.GPL2
LICENSE.GPL3
LICENSE.GPL3-EXCEPT
LICENSE.LGPL3
LICENSE.QT-LICENSE-AGREEMENT Update latest qt license agreement 2021-12-02 14:16:49 +00:00
qt_cmdline.cmake configure: Remove vestiges of handling QMAKE_* variable assignments 2021-11-24 10:47:10 +01:00
sync.profile Implement generating of a module cpp export header 2021-06-24 20:40:49 +02:00