aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmljavascriptexpression_p.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2021-03-24 16:19:03 +0100
committerUlf Hermann <ulf.hermann@qt.io>2021-03-29 09:04:06 +0100
commitbd294e78239a198c9c7458a490681d170823a97f (patch)
treebc40b21084a2d94c14fdcfac3f34e29ca0cee07b /src/qml/qml/qqmljavascriptexpression_p.h
parentaa05de42962f7dce931f965b6affd0d27f24c50a (diff)
Provide an AOT-optimized code path for binding evaluation
We don't need to convert the results of calling binding functions back and forth. Change-Id: Icb997532ebc3092f3e3882a804173346b450e435 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqmljavascriptexpression_p.h')
-rw-r--r--src/qml/qml/qqmljavascriptexpression_p.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/qml/qml/qqmljavascriptexpression_p.h b/src/qml/qml/qqmljavascriptexpression_p.h
index 499d4d430f..6e4c0ac381 100644
--- a/src/qml/qml/qqmljavascriptexpression_p.h
+++ b/src/qml/qml/qqmljavascriptexpression_p.h
@@ -108,6 +108,7 @@ public:
QV4::ReturnedValue evaluate(bool *isUndefined);
QV4::ReturnedValue evaluate(QV4::CallData *callData, bool *isUndefined);
+ bool evaluate(void **a, QMetaType *types, int argc);
inline bool notifyOnValueChanged() const;
@@ -135,7 +136,7 @@ public:
*listHead = this;
}
- QV4::Function *function() const;
+ QV4::Function *function() const { return m_v4Function; }
virtual void refresh();
@@ -207,6 +208,7 @@ private:
friend class QQmlPropertyCapture;
friend void QQmlJavaScriptExpressionGuard_callback(QQmlNotifierEndpoint *, void **);
friend class QQmlTranslationBinding;
+ friend class QQmlJavaScriptExpressionCapture;
// Not refcounted as the context will clear the expressions when destructed.
QQmlContextData *m_context;