Go to file
Marc Mutz c6497e3eac Mark some functions as cold
Add Q_DECL_COLD_FUNCTION (__attribute__((cold))) to tell the compiler
that the following functions are not usually executed in normal programs:

- qWarning/qCritical/qFatal
- qTerminate
- assertion failure
- qBadAlloc

The effect of the attribute is that

1. These functions get put into their own section, .text.unlikely,
   and will be optimized for size, not speed.
2. Conditions that lead to one of these functions are automatically
   marked as unlikely (something we have done manually in the past)
3. (anecdotal) the compiler is less likely to inline these functions

Text size effect of this change over all of QtBase: ~27KiB text size
saved, of which 11KiB in QtCore alone.

Change-Id: If308d4a4b9ff8f7934316c54b161a78ebe3f4205
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-11-30 13:18:39 +00:00
bin Fix shadow prefix framework builds 2017-11-02 15:23:18 +00:00
config.tests Centralize the x86 SIMD testing in one place 2017-11-30 08:30:42 +00:00
dist Add changes file for Qt 5.9.3 2017-11-13 08:12:02 +00:00
doc Doc: Minor corrections custom sort filter example 2017-11-29 14:09:18 +00:00
examples Merge remote-tracking branch 'origin/5.10' into dev 2017-11-30 09:16:58 +01:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs Add support for AVX-512 intrinsics found in MSVC 2017 15.3 2017-11-30 08:30:37 +00:00
qmake Merge remote-tracking branch 'origin/5.9' into 5.10 2017-10-16 22:21:52 +03:00
src Mark some functions as cold 2017-11-30 13:18:39 +00:00
tests QTreeWidgetItem::insertChildren: ignore out of bounds indexes 2017-11-30 13:01:45 +00:00
util Replace Q_DECL_FINAL with final 2017-09-22 07:30:01 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore gitignore: don't ignore Info.plist templates for libraries 2017-11-23 07:07:48 +00:00
.qmake.conf Bump version 2017-10-06 18:00:03 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
config_help.txt Merge remote-tracking branch 'origin/5.10' into dev 2017-11-30 09:16:58 +01:00
configure Remove references to obsolete platforms 2017-11-05 06:33:53 +00:00
configure.bat configure: balk at any of {{,X}QMAKESPEC,QMAKE{PATH,FEATURES}} being set 2017-04-21 09:22:27 +00:00
configure.json Merge "Merge remote-tracking branch 'origin/5.10' into dev" into refs/staging/dev 2017-11-30 12:57:22 +00:00
configure.pri Centralize the x86 SIMD testing in one place 2017-11-30 08:30:42 +00:00
header.BSD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.COMM Add header template for commercial only modules 2015-10-19 10:37:18 +00:00
header.FDL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.GPL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.GPL-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL3 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3-COMM Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL21 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL-NOGPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL-ONLY Update copyright headers 2015-02-11 06:49:51 +00:00
INSTALL Doc: Update links in INSTALL file 2015-02-16 09:06:41 +00:00
LGPL_EXCEPTION.txt Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPLv21 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.PREVIEW.COMMERCIAL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile Add support for Windows UI Automation 2017-11-14 23:31:04 +00:00