Use V4 binding for non-final properties where possible
authorMatthew Vogt <matthew.vogt@nokia.com>
Mon, 4 Jun 2012 04:43:38 +0000 (14:43 +1000)
committerQt by Nokia <qt-info@nokia.com>
Sun, 8 Jul 2012 23:36:23 +0000 (01:36 +0200)
commit49a3883e86b61d8facfeea9c43037d484cb50b92
treeba1afdf6ddc3740f26c5e3c95cb2fffeb953abb4
parent3095493a4ce4bec11b9381a3d1d23f17b313332c
Use V4 binding for non-final properties where possible

When a property referenced in a binding is not marked as final, do not
automatically abort optimization.  Instead generate both V4 and V8
binidngs, and only fall back to the V8 binding if necessary at run time.

Change-Id: I1bcc7e2b495935c5d519a9a223f640c1972cdb4e
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
27 files changed:
src/qml/qml/qqmlcompiler.cpp
src/qml/qml/qqmlcompiler_p.h
src/qml/qml/qqmlinstruction_p.h
src/qml/qml/qqmlproperty.cpp
src/qml/qml/qqmlproperty_p.h
src/qml/qml/qqmlpropertycache.cpp
src/qml/qml/qqmlpropertycache_p.h
src/qml/qml/qqmlvme.cpp
src/qml/qml/v4/qv4bindings.cpp
src/qml/qml/v4/qv4bindings_p.h
src/qml/qml/v4/qv4compiler.cpp
src/qml/qml/v4/qv4compiler_p.h
src/qml/qml/v4/qv4compiler_p_p.h
src/qml/qml/v4/qv4irbuilder.cpp
src/qml/qml/v4/qv4irbuilder_p.h
src/qml/qml/v8/qv8bindings.cpp
src/qml/qml/v8/qv8bindings_p.h
tests/auto/qml/qqmlecmascript/data/BaseComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/fallbackBindings.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/fallbackBindings.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/fallbackBindings.3.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/fallbackBindings.4.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/fallbackBindings.5.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/fallbackBindings.6.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/testtypes.cpp
tests/auto/qml/qqmlecmascript/testtypes.h
tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp