Go to file
Milian Wolff 9a789a965a Optimize QObject::senderSignalIndex to only iterate the d->senders once.
QObject::senderSignalIndex is, combined with ::sender(), the current
hotspot in the QWebChannel which makes heavy use of it in its 1-to-many
QSignalSpy implementation.

This patch optimizes the senderSignalIndex by only iterating over the
linked senders list once, instead of twice. I.e. it first iterated over
it to find the signal index, then again to find the sender to convert
to a method-offset.

Change-Id: Ic86aed0dce891b87b953a6ec2364a81695bd4876
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-01-09 21:03:25 +01:00
bin Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-06-15 22:39:25 +02:00
config.tests Merge remote-tracking branch 'origin/stable' into dev 2014-01-06 15:26:02 +01:00
dist Merge remote-tracking branch 'origin/stable' into dev 2013-12-24 00:56:59 +01:00
doc Doc: Move XML example documentation to correct location 2013-12-20 10:37:43 +01:00
examples Merge remote-tracking branch 'origin/stable' into dev 2014-01-03 14:30:21 +01:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Move no-pch extra compiler to common features 2014-01-08 15:47:28 +01:00
qmake Windows/Windows CE: Do not dynamically load shell32/coredll. 2014-01-07 21:14:35 +01:00
src Optimize QObject::senderSignalIndex to only iterate the d->senders once. 2014-01-09 21:03:25 +01:00
tests Add option NoCancelButtonOnLastPage to QWizard 2014-01-09 21:03:25 +01:00
tools Windows/Windows CE: Do not dynamically load shell32/coredll. 2014-01-07 21:14:35 +01:00
util Remove empty QAccessible2 header 2013-11-20 15:11:24 +01:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore GitIgnore updates 2013-12-09 17:28:18 +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 Merge remote-tracking branch 'origin/stable' into dev 2014-01-06 15:26:02 +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 INSTALL: Fix URL of Installing Qt documentation 2013-04-11 16:09:07 +02:00
LGPL_EXCEPTION.txt Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +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 copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
LICENSE.PREVIEW.COMMERCIAL Update LICENSE.PREVIEW.COMMERCIAL license 2013-06-03 20:04:26 +02:00
qtbase.pro Merge remote-tracking branch 'origin/release' into stable 2013-12-05 17:42:33 +01:00
sync.profile generate qfeatures.h at build time 2013-10-29 15:37:58 +01:00