Go to file
Marc Mutz 90f87fabe8 QEvent: optimize registerEventType()
Instead of always searching from the end of the range [User, MaxUser],
cache the next available id and start searching from there.

Instead of saving the already-allocated IDs in a QSet, use an atomic
bit-field. This removes the need to use a mutex.

The QBasicAtomicBitField class is designed to be reusable, but lacks
features that are not needed by QEvent::registerEventType(). It is
also unclear how this could be made more encapsulated without losing
the property that the whole instance is placed in the BSS segment,
since making the data fields private will make the type non-POD.

Change-Id: I4012fa114d9d9e85e9e881e100a2c021fa09a0d7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-07 20:41:15 +02:00
bin automate handling of generated headers some more 2014-02-28 03:17:11 +01:00
config.tests Do not use -Bsymbolic* on anything but x86 and x86-64 2014-03-25 00:00:23 +01:00
dist update changelog for QtSql 5.3.0 2014-03-18 09:13:36 +01:00
doc Merge remote-tracking branch 'origin/stable' into dev 2014-04-01 11:44:27 +03:00
examples Updated outdated README for thread examples 2014-03-31 12:46:38 +02:00
lib
mkspecs Merge remote-tracking branch 'origin/stable' into dev 2014-04-01 11:44:27 +03:00
qmake Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-04-02 07:36:48 +02:00
src QEvent: optimize registerEventType() 2014-04-07 20:41:15 +02:00
tests Stabilize QListWidget test 2014-04-07 12:11:14 +02:00
tools Externalize license key handling from configure 2014-03-25 12:50:28 +01:00
util Introduce QChar::JoiningType enum and QChar::joiningType() method 2014-01-29 23:19:47 +01:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Add .dylib and .d to .gitignore 2014-03-29 00:40:46 +01:00
.qmake.conf Enable -Werror for all of qtbase 2013-09-04 01:50:10 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
configure Externalize license key handling from configure 2014-03-25 12:50:28 +01:00
configure.bat get rid of syncqt wrapper scripts 2013-05-13 21:54:48 +02:00
header.BSD Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.FDL Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.LGPL Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.LGPL-ONLY Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
INSTALL Doc: Update links in INSTALL file 2014-01-16 20:37:25 +01:00
LGPL_EXCEPTION.txt Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
LICENSE.FDL
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 copyright year in LICENSE.LGPL 2014-03-31 12:36:33 +02:00
LICENSE.PREVIEW.COMMERCIAL Update LICENSE.PREVIEW.COMMERCIAL license 2013-06-03 20:04:26 +02:00
qtbase.pro move generation of qconfig.h forwarding headers to qtbase.pro 2014-02-28 03:17:11 +01:00
sync.profile automate handling of generated headers some more 2014-02-28 03:17:11 +01:00