diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2013-11-02 22:46:25 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-25 22:04:42 +0100 |
commit | 43f1cc98bf1899ae29e3fb0b3bf5054d5a23d4b2 (patch) | |
tree | 1d0912be4c0daf35e4255259f51e4a3c11b9f004 /src/qml/compiler/qv4isel_masm.cpp | |
parent | a41764cafbc85c271edde8d09eae46798ccdcb8d (diff) |
Initial support for accelerated property access to QML singletons and enums
With this patch we determine the meta-object of singletons, propagate it into
the IR and load them separately using a dedicated run-time function. In
addition enums in singletons and QML types are resolved at compile time.
Change-Id: I01ce1288391b476d1c9af669cb2987a44c885703
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4isel_masm.cpp')
-rw-r--r-- | src/qml/compiler/qv4isel_masm.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/qml/compiler/qv4isel_masm.cpp b/src/qml/compiler/qv4isel_masm.cpp index 0854dd55ab..468fef4116 100644 --- a/src/qml/compiler/qv4isel_masm.cpp +++ b/src/qml/compiler/qv4isel_masm.cpp @@ -900,6 +900,11 @@ void InstructionSelection::loadQmlScopeObject(V4IR::Temp *temp) generateFunctionCall(temp, __qmljs_get_scope_object, Assembler::ContextRegister); } +void InstructionSelection::loadQmlSingleton(const QString &name, V4IR::Temp *temp) +{ + generateFunctionCall(temp, __qmljs_get_qml_singleton, Assembler::ContextRegister, Assembler::PointerToString(name)); +} + void InstructionSelection::loadConst(V4IR::Const *sourceConst, V4IR::Temp *targetTemp) { if (targetTemp->kind == V4IR::Temp::PhysicalRegister) { |