diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2013-10-28 15:18:31 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-31 18:54:59 +0100 |
commit | b0afac3daf1cbb9daacbeac0183ef6254de6cc95 (patch) | |
tree | 1eb69941be2d3c47e5d711705cd5f910eefafdca /src/qml/compiler/qv4regalloc.cpp | |
parent | c7a3089c146d6063f3b3201149e42c720c8ca5b3 (diff) |
Implement setting of values to resolved QObject properties
After the resolution of a property, we can set it by index at run-time instead
of via name resolution.
Change-Id: I479599dabe343cf9e6582dcda12291aebfcce418
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4regalloc.cpp')
-rw-r--r-- | src/qml/compiler/qv4regalloc.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/qml/compiler/qv4regalloc.cpp b/src/qml/compiler/qv4regalloc.cpp index 84efdbb920..501f5b7edb 100644 --- a/src/qml/compiler/qv4regalloc.cpp +++ b/src/qml/compiler/qv4regalloc.cpp @@ -400,6 +400,13 @@ protected: // IRDecoder addCall(); } + virtual void setQObjectProperty(V4IR::Expr *source, V4IR::Expr *targetBase, int /*propertyIndex*/) + { + addUses(source->asTemp(), Use::CouldHaveRegister); + addUses(targetBase->asTemp(), Use::CouldHaveRegister); + addCall(); + } + virtual void getQObjectProperty(V4IR::Expr *base, int /*propertyIndex*/, V4IR::Temp *target) { addDef(target); |