aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4vme_moth.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsruntime/qv4vme_moth.cpp')
-rw-r--r--src/qml/jsruntime/qv4vme_moth.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4vme_moth.cpp b/src/qml/jsruntime/qv4vme_moth.cpp
index 5a7b33a5d5..1797f0b2ee 100644
--- a/src/qml/jsruntime/qv4vme_moth.cpp
+++ b/src/qml/jsruntime/qv4vme_moth.cpp
@@ -305,6 +305,10 @@ QV4::ReturnedValue VME::run(QV4::ExecutionContext *context, const uchar *code,
CHECK_EXCEPTION;
MOTH_END_INSTR(SetLookup)
+ MOTH_BEGIN_INSTR(LoadQObjectProperty)
+ STOREVALUE(instr.result, __qmljs_get_qobject_property(context, VALUEPTR(instr.base), instr.propertyIndex));
+ MOTH_END_INSTR(LoadQObjectProperty)
+
MOTH_BEGIN_INSTR(Push)
TRACE(inline, "stack size: %u", instr.value);
stackSize = instr.value;
@@ -628,9 +632,17 @@ QV4::ReturnedValue VME::run(QV4::ExecutionContext *context, const uchar *code,
VALUE(instr.result) = context->callData->thisObject;
MOTH_END_INSTR(LoadThis)
- MOTH_BEGIN_INSTR(LoadIdObject)
+ MOTH_BEGIN_INSTR(LoadQmlIdObject)
VALUE(instr.result) = __qmljs_get_id_object(context, instr.id);
- MOTH_END_INSTR(LoadIdObject)
+ MOTH_END_INSTR(LoadQmlIdObject)
+
+ MOTH_BEGIN_INSTR(LoadQmlContextObject)
+ VALUE(instr.result) = __qmljs_get_context_object(context);
+ MOTH_END_INSTR(LoadContextObject)
+
+ MOTH_BEGIN_INSTR(LoadQmlScopeObject)
+ VALUE(instr.result) = __qmljs_get_scope_object(context);
+ MOTH_END_INSTR(LoadScopeObject)
#ifdef MOTH_THREADED_INTERPRETER
// nothing to do