Go to file
Marc Mutz 342acf66fe uic: optimize string handling in WriteInitialization::acceptWidget()
Instead of building QStringLists out of statically-known
US-ASCII strings, use C arrays of QLatin1String instead.

QLatin1String is constexpr, so these tables, while causing
relocations, do not require runtime initialization.

Using QStringBuilder, these QLatin1Strings are almost a
drop-in replacement for the QStrings used before.

Effects on optimized GCC 5.3 Linux AMD64 builds:

  $ size bin/uic-*
     text    data     bss     dec     hex filename
   567104   31776      56  598936   92398 bin/uic-00-before
   565829   31944      24  597797   91f25 bin/uic-01-after

Change-Id: I469c62b0e8966731d7ac2fa092f4b4cd8ddb79f1
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-02-19 18:11:55 +00:00
bin Add Intel copyright to files that Intel has had non-trivial contribution 2016-01-21 22:44:21 +00:00
config.tests Merge remote-tracking branch 'origin/5.6' into dev 2016-02-11 08:25:04 +01:00
dist Update the Qt 5.5.1 changelog for qtbase 2015-09-23 06:49:28 +00:00
doc Merge remote-tracking branch 'origin/5.6' into dev 2016-02-02 15:57:44 +01:00
examples Merge remote-tracking branch 'origin/5.6' into dev 2016-02-11 08:25:04 +01:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs Merge remote-tracking branch 'origin/5.7' into dev 2016-02-19 12:02:49 +01:00
qmake qmake: remove some empty user-defined dtors 2016-02-15 14:45:40 +00:00
src uic: optimize string handling in WriteInitialization::acceptWidget() 2016-02-19 18:11:55 +00:00
tests Merge remote-tracking branch 'origin/5.7' into dev 2016-02-19 12:02:49 +01:00
tools Remove LGPLv2 as a license option in configure 2016-02-15 14:55:32 +00:00
util Merge remote-tracking branch 'origin/5.6' into dev 2016-02-02 15:57:44 +01:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore rewrite qtAddToolEnv() 2016-01-08 09:36:13 +00:00
.qmake.conf Merge remote-tracking branch 'origin/5.6' into dev 2015-10-23 14:45:03 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
configure Merge remote-tracking branch 'origin/5.7' into dev 2016-02-19 12:02:49 +01:00
configure.bat Add initial clang-cl support to Qt 2016-02-11 12:54:06 +00:00
header.BSD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.BSD-OLD 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.FDL-OLD 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 fix up license references 2015-08-13 11:13:09 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Bump copyright year to 2016 2016-01-29 13:30:04 +00:00
LICENSE.LGPLv21 Bump copyright year to 2016 2016-01-29 13:30:04 +00:00
LICENSE.PREVIEW.COMMERCIAL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
qtbase.pro Merge remote-tracking branch 'origin/5.6' into dev 2015-11-18 09:01:51 +01:00
sync.profile make a proper header-only module for QtZlib 2015-11-17 20:22:17 +00:00