From bd294e78239a198c9c7458a490681d170823a97f Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Wed, 24 Mar 2021 16:19:03 +0100 Subject: 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 Reviewed-by: Fabian Kosmale --- src/qml/qml/qqmljavascriptexpression_p.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/qml/qml/qqmljavascriptexpression_p.h') 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; -- cgit v1.2.3