summaryrefslogtreecommitdiffstats
path: root/doc/src/legal
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2010-02-18 14:29:32 (GMT)
committerKent Hansen <kent.hansen@nokia.com>2010-02-18 16:36:22 (GMT)
commitd5af42b1b7d792188c689d5425493756f2dcb79e (patch)
tree3b0874e3409b53efe881171272cd1342cbf98515 /doc/src/legal
parent8e0a364f7baed4bbc7ff711be2a15692a40c3e93 (diff)
downloadQt-d5af42b1b7d792188c689d5425493756f2dcb79e.zip
Qt-d5af42b1b7d792188c689d5425493756f2dcb79e.tar.gz
Qt-d5af42b1b7d792188c689d5425493756f2dcb79e.tar.bz2
Avoid calling out to public API in the QtScript implementation
There's no reason to construct QScriptValues when JSC::JSValues can be operated on directly. A benchmark showed that ~10% of the time for reading a QObject property from a script was spent just creating and destroying QScriptValue temporaries. It's time to finally get rid of this potential bottleneck, not just in the QObject integration but everywhere. This change refactors the code so that all internal operations are performed on JSC::JSValue (most importantly, conversion from/to Qt types), and the public API functions are just thin wrappers around these. E.g. instead of doing enginePrivate->scriptValueFromJSCValue(jsValue).toQObject() the implementation now does QScriptEnginePrivate::toQObject(jsValue) Other operations are delegated to the engine implementation in similar style. Task-number: QTBUG-8304 Reviewed-by: Jedrzej Nowacki
Diffstat (limited to 'doc/src/legal')
0 files changed, 0 insertions, 0 deletions