Inline QMetaObjectPrivate::signalOffset()
This saves one more function call in activate().
before after
string based connect: 2436 2380
pointer based connect: 3265 3160
not connected: 400 307
disconnected: 489 404
5 slots connected: 4515 4522
Change-Id: I4789c7400497c2aa08886ea964af5e5e4703eeab
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
bb10
parent
cc3918abbc
commit
965a5cc5ad
|
|
@ -814,6 +814,7 @@ int QMetaObjectPrivate::indexOfConstructor(const QMetaObject *m, const QByteArra
|
|||
}
|
||||
|
||||
/*!
|
||||
\fn int QMetaObjectPrivate::signalOffset(const QMetaObject *m)
|
||||
\internal
|
||||
\since 5.0
|
||||
|
||||
|
|
@ -823,14 +824,6 @@ int QMetaObjectPrivate::indexOfConstructor(const QMetaObject *m, const QByteArra
|
|||
Similar to QMetaObject::methodOffset(), but non-signal methods are
|
||||
excluded.
|
||||
*/
|
||||
int QMetaObjectPrivate::signalOffset(const QMetaObject *m)
|
||||
{
|
||||
Q_ASSERT(m != 0);
|
||||
int offset = 0;
|
||||
for (m = m->d.superdata; m; m = m->d.superdata)
|
||||
offset += priv(m->d.data)->signalCount;
|
||||
return offset;
|
||||
}
|
||||
|
||||
/*!
|
||||
\internal
|
||||
|
|
|
|||
|
|
@ -208,7 +208,13 @@ struct QMetaObjectPrivate
|
|||
static int indexOfConstructor(const QMetaObject *m, const QByteArray &name,
|
||||
int argc, const QArgumentType *types);
|
||||
Q_CORE_EXPORT static QMetaMethod signal(const QMetaObject *m, int signal_index);
|
||||
Q_CORE_EXPORT static int signalOffset(const QMetaObject *m);
|
||||
static inline int signalOffset(const QMetaObject *m) {
|
||||
Q_ASSERT(m != nullptr);
|
||||
int offset = 0;
|
||||
for (m = m->d.superdata; m; m = m->d.superdata)
|
||||
offset += reinterpret_cast<const QMetaObjectPrivate*>(m->d.data)->signalCount;
|
||||
return offset;
|
||||
}
|
||||
Q_CORE_EXPORT static int absoluteSignalCount(const QMetaObject *m);
|
||||
Q_CORE_EXPORT static int signalIndex(const QMetaMethod &m);
|
||||
static bool checkConnectArgs(int signalArgc, const QArgumentType *signalTypes,
|
||||
|
|
|
|||
Loading…
Reference in New Issue