Performance improvements
authorAaron Kennedy <aaron.kennedy@nokia.com>
Tue, 14 Jun 2011 06:17:39 +0000 (16:17 +1000)
committerAaron Kennedy <aaron.kennedy@nokia.com>
Tue, 14 Jun 2011 06:17:39 +0000 (16:17 +1000)
commit3ad5beee4c3fbbc855b84c8982c5458d634f1dee
tree7ddf1bcf379a16185c1c52f53bb689767122c1e9
parent7456055c2df733dbbe2ca5967f512c2555ca31d4
Performance improvements

There are two main changes here.  First, where possible, we mark
properties as "IsDirect" which means that they exist in a C++
QMetaObject (as opposed to a dynamic meta object), which allows us
to call QObject::qt_metacall() directly, bypassing any dynamic meta
object stuff.

The second change is to use an ascii string comparator in V8 where
possible.  V8 stores ASCII string internally as ASCII strings, and
asking it to compare them to a UTF16 string requires a conversion.
src/declarative/qml/qdeclarativepropertycache.cpp
src/declarative/qml/qdeclarativepropertycache_p.h
src/declarative/qml/v8/qhashedstring_p.h
src/declarative/qml/v8/qv8contextwrapper.cpp
src/declarative/qml/v8/qv8engine_p.h
src/declarative/qml/v8/qv8qobjectwrapper.cpp