diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2016-03-30 14:53:03 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@theqtcompany.com> | 2016-04-05 13:52:47 +0000 |
commit | aac611fdb8aacc494956a080bf38cb9b7eb4c2e8 (patch) | |
tree | ff88f41bdd35871b5cfbb84dbdad8b61f5efa1c3 /src/qml/qml/qqmldata_p.h | |
parent | eb9fa2d407a712ae72f7fdf80c4833bd301f1de5 (diff) |
QML: allow more methods to get inlined.
Most of these methods are small, and all of them lie in the 'hot path'
for simple bindings like 'width: parent.width'.
Change-Id: I0071cec92b49437a352160b0283ed6c89a278a07
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Diffstat (limited to 'src/qml/qml/qqmldata_p.h')
-rw-r--r-- | src/qml/qml/qqmldata_p.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/qml/qml/qqmldata_p.h b/src/qml/qml/qqmldata_p.h index 1a8cd0ce09..ad2456a68d 100644 --- a/src/qml/qml/qqmldata_p.h +++ b/src/qml/qml/qqmldata_p.h @@ -149,7 +149,7 @@ public: inline QQmlNotifierEndpoint *notify(int index); void addNotify(int index, QQmlNotifierEndpoint *); int endpointCount(int index); - bool signalHasEndpoint(int index); + bool signalHasEndpoint(int index) const; void disconnectNotifiers(); // The context that created the C++ object @@ -264,6 +264,15 @@ QQmlNotifierEndpoint *QQmlData::notify(int index) } } +/* + The index MUST be in the range returned by QObjectPrivate::signalIndex() + This is different than the index returned by QMetaMethod::methodIndex() +*/ +inline bool QQmlData::signalHasEndpoint(int index) const +{ + return notifyList && (notifyList->connectionMask & (1ULL << quint64(index % 64))); +} + bool QQmlData::hasBindingBit(int coreIndex) const { int bit = coreIndex * 2; |