qt5base-lts/tests/auto/corelib/kernel
Thiago Macieira cdd0e8fa67 QSlotObjectBase: move the which parameter to the 4th position
This places the first through third parameters on the exact positions
that they will be used to perform the operations in the switch, saving
the compiler from generating a few instructions to move data around. All
ABIs Qt supports that pass any function parameters in registers at all
pass at least 4.

We keep the return type as void (instead of returning bool, for the
Compare case) so the compiler can apply tail-call optimizations for
those two typical cases.

PMF case: https://gcc.godbolt.org/z/9oP5boKfj
Function case: https://gcc.godbolt.org/z/e9vEzd5dj
Functor case: https://gcc.godbolt.org/z/s8Ejjra7P

Change-Id: I3e3bfef633af4130a03afffd175d3e3009c56323
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2023-05-11 21:53:22 -07:00
..
qapplicationstatic Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
qcoreapplication tst_QCoreApplication: ensure that theMainThread has expected states 2023-04-26 04:55:47 -03:00
qdeadlinetimer QDeadlineTimer: make it so any negative millisecond count is "forever" 2023-05-11 00:28:49 -07:00
qelapsedtimer QElapsedTimer: rewrite using std::chrono::steady_clock everywhere 2023-04-18 19:23:42 -03:00
qeventdispatcher QThread: add sleep(std::chrono::nanoseconds) overload 2023-03-13 23:26:28 +02:00
qeventloop tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qjnienvironment CMake: Remove direct qt_android_generate_deployment_settings call 2022-12-15 20:23:28 +01:00
qjniobject CMake: Remove direct qt_android_generate_deployment_settings call 2022-12-15 20:23:28 +01:00
qjnitypes JNI: add generic support for array-types 2022-10-10 20:19:30 +02:00
qmath tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qmetacontainer tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qmetaenum tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qmetamethod tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qmetaobject Fix QMetaObject::invokeMethod for free functions and std::bind 2023-05-11 19:36:55 +02:00
qmetaobjectbuilder moc: Record types of enumerations 2023-03-31 17:42:58 +02:00
qmetaproperty tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qmetatype QMetaType: Provide underlyingType for enums 2023-03-28 10:59:53 +02:00
qmimedata tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qobject QSlotObjectBase: move the which parameter to the 4th position 2023-05-11 21:53:22 -07:00
qpermission Simplify the creation of APIs that take a callback 2023-04-26 22:06:31 +02:00
qpointer QPointer: also make conversion to pointer-to-const work 2023-05-11 08:10:16 +00:00
qproperty Avoid capturing same property twice 2023-04-18 13:23:48 +02:00
qsignalblocker tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qsignalmapper tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qsocketnotifier QTestEventLoop: add enterLoop(std::chrono::milliseconds) overload 2023-03-03 21:36:48 +02:00
qtimer QTimer: optimize single shot timers that cross thread 2023-04-20 20:23:37 +02:00
qtranslator tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qvariant QVariant: Fix support for metatypes created by Qt < 6.5 2023-04-28 12:37:03 +02:00
qwineventnotifier tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qwinregistrykey QWinRegistryKey: Fix how we handle the default value, take 2 2022-10-28 09:27:13 +00:00
CMakeLists.txt tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00