aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativeinstruction_p.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2011-06-17 11:37:17 +1000
committerAaron Kennedy <aaron.kennedy@nokia.com>2011-06-17 11:37:17 +1000
commit69a17a912a41458a2b4a20bdbda1717920275250 (patch)
treef0eb0cdb210765ddb954539a0fbe520640eae2a1 /src/declarative/qml/qdeclarativeinstruction_p.h
parent9c5e112e12f09ad5c8356d6815f9b23102e99bfd (diff)
Evaluate all shared bindings together using a shared context
The vast majority of bindings are capable of being shared (that is, don't introduce closures themselves) and consequently this improves the performance of almost every app.
Diffstat (limited to 'src/declarative/qml/qdeclarativeinstruction_p.h')
-rw-r--r--src/declarative/qml/qdeclarativeinstruction_p.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/declarative/qml/qdeclarativeinstruction_p.h b/src/declarative/qml/qdeclarativeinstruction_p.h
index 3db55a66d3..5c51ea8d5f 100644
--- a/src/declarative/qml/qdeclarativeinstruction_p.h
+++ b/src/declarative/qml/qdeclarativeinstruction_p.h
@@ -95,9 +95,11 @@ QT_BEGIN_NAMESPACE
F(StoreImportedScript, storeScript) \
F(StoreScriptString, storeScriptString) \
F(BeginObject, begin) \
+ F(InitV8Bindings, initV8Bindings) \
F(StoreBinding, assignBinding) \
F(StoreBindingOnAlias, assignBinding) \
- F(StoreCompiledBinding, assignBinding) \
+ F(StoreV4Binding, assignBinding) \
+ F(StoreV8Binding, assignBinding) \
F(StoreValueSource, assignValueSource) \
F(StoreValueInterceptor, assignValueInterceptor) \
F(StoreObjectQList, common) \
@@ -182,6 +184,11 @@ union QDeclarativeInstruction
int owner;
int castValue;
};
+ struct instr_initV8Bindings {
+ QML_INSTR_HEADER
+ int program;
+ int line;
+ };
struct instr_assignBinding {
QML_INSTR_HEADER
unsigned int property;
@@ -411,6 +418,7 @@ union QDeclarativeInstruction
instr_setId setId;
instr_assignValueSource assignValueSource;
instr_assignValueInterceptor assignValueInterceptor;
+ instr_initV8Bindings initV8Bindings;
instr_assignBinding assignBinding;
instr_fetch fetch;
instr_fetchValue fetchValue;