Details
-
Task
-
Resolution: Done
-
P2: Important
-
None
-
None
Description
For a signal declaration like so:
signal clicked(color cellColor)
and signal handler like so:
onClicked:
QML will generate a function expression
function() { helloText.color = cellColor; }
and the resolution of the arguments (cellColor, in this case) is done dynamically in the QML scope.
Instead, QML could generate the expression
function(cellColor)
{ helloText.color = cellColor; }and pass the arguments directly to QScriptValue::call().
This should make arguments access a lot faster since it allows JSC to use "static" opcodes (i.e. avoids virtual calls to scope chain).
Attachments
Issue Links
- resulted from
-
QTBUG-8576 Javascript performance for QML is much worse than javascript performance within the WebView in QML.
- Closed
For Gerrit Dashboard: QTBUG-10962 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
9103,7 | WIP: Avoid dynamic lookup of signal handler arguments | master | qt/qtdeclarative | Status: ABANDONED | -2 | 0 |