summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativeinstruction_p.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2010-04-01 05:29:26 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2010-04-01 05:29:26 (GMT)
commit8e87197c2afa19df1fb15cb9b6b3cc17c3d4c0d6 (patch)
tree691fe48f981f40f2d50790ceeb7d3719799d9b82 /src/declarative/qml/qdeclarativeinstruction_p.h
parentb1748ec7a9fdcd74fcf05af3903623c7165420ad (diff)
downloadQt-8e87197c2afa19df1fb15cb9b6b3cc17c3d4c0d6.zip
Qt-8e87197c2afa19df1fb15cb9b6b3cc17c3d4c0d6.tar.gz
Qt-8e87197c2afa19df1fb15cb9b6b3cc17c3d4c0d6.tar.bz2
Optimization: Improve allocation strategy for QDeclarativeDeclarativeData
This improves the declarative/creation/itemtree_qml benchmark by 6%
Diffstat (limited to 'src/declarative/qml/qdeclarativeinstruction_p.h')
-rw-r--r--src/declarative/qml/qdeclarativeinstruction_p.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarativeinstruction_p.h b/src/declarative/qml/qdeclarativeinstruction_p.h
index 877179d..1f3c964 100644
--- a/src/declarative/qml/qdeclarativeinstruction_p.h
+++ b/src/declarative/qml/qdeclarativeinstruction_p.h
@@ -74,6 +74,7 @@ public:
// top of the stack.
Init, /* init */
CreateObject, /* create */
+ CreateSimpleObject, /* createSimple */
SetId, /* setId */
SetDefault,
CreateComponent, /* createComponent */
@@ -175,6 +176,11 @@ public:
int bindingBits;
ushort column;
};
+ struct CreateSimpleInstruction {
+ void (*create)(void *);
+ int typeSize;
+ ushort column;
+ };
struct StoreMetaInstruction {
int data;
int aliasData;
@@ -305,6 +311,7 @@ public:
union {
InitInstruction init;
CreateInstruction create;
+ CreateSimpleInstruction createSimple;
StoreMetaInstruction storeMeta;
SetIdInstruction setId;
AssignValueSourceInstruction assignValueSource;