Go to file
Harald Fernengel 17adbb232b Speed up construction of basic QVariants
Instead of first creating an initialized Private struct, then overwrite
the member variables, we added an internal constructor that
initializes the private struct sanely.

In the new (inlined, internal) constructor, both the MSB bits in the
bitfield are 0, and since the value of internal meta-type ID is so
low that the two MSB bits should never be set, the compiler can
(hopefully) optimize away the bit-fiddling initialization of the bit-field.

Callgrind shows about 33% speed-up in e.g. QVariant::QVariant(int)

Change-Id: I706773a71c0d8dcbe119ad15411578b81892deb5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-08-15 09:17:35 +02:00
bin Skip doc subfolders when checking includes. 2012-08-01 15:37:46 +02:00
config.tests introduce compileTest function 2012-08-14 12:49:37 +02:00
dist Add some more of my 5.0.0 changes 2012-08-14 12:49:37 +02:00
doc change \img to \image in docs 2012-08-01 15:37:46 +02:00
examples Call clear() instead of empty() in addressbook/part6 tutorial. 2012-08-09 03:26:19 +02:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs build: Fix the FreeBSD build due build system change. 2012-08-14 09:51:07 +02:00
qmake revamp preparation of command line for qmake calls in makefiles 2012-08-14 23:12:23 +02:00
src Speed up construction of basic QVariants 2012-08-15 09:17:35 +02:00
tests tst_QToolBar: fix "might be used uninit'ed" warnings 2012-08-14 08:53:29 +02:00
tools support -rpath for modules which are not installed to QT_INSTALL_PREFIX 2012-08-11 10:40:23 +02:00
util QUnicodeTables: some internal API renamings 2012-06-22 09:47:59 +02:00
.gitattributes Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
.gitignore Add the CMake directory created during unit testing to .gitignore. 2012-07-23 07:06:23 +02:00
.tag Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
configure Merge L_FLAGS and l_FLAGS in configure 2012-08-14 12:49:37 +02:00
configure.bat Remove Q_BYTE_ORDER and -*-endian arguments from configures 2012-03-02 14:48:00 +01:00
header.BSD Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.FDL Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.LGPL Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.LGPL-ONLY Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
INSTALL Remove Symbian specific code from qtbase. 2012-01-31 07:08:31 +01:00
LGPL_EXCEPTION.txt Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL Add the LICENSE.GPL file to the module referenced from license headers 2012-05-20 22:41:08 +02:00
LICENSE.LGPL Update contact information in license headers. 2012-01-23 04:04:33 +01:00
LICENSE.PREVIEW.COMMERCIAL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
qtbase.pro Install right version of tools when x-compiling. 2012-07-17 12:52:48 +02:00
sync.profile Revert "Move QWindowSystemInterface out of qpa." 2012-08-03 00:38:09 +02:00