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.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4vme_moth.cpp b/src/qml/jsruntime/qv4vme_moth.cpp
index 5daead19d2..9fd57e0dcb 100644
--- a/src/qml/jsruntime/qv4vme_moth.cpp
+++ b/src/qml/jsruntime/qv4vme_moth.cpp
@@ -959,6 +959,12 @@ QV4::ReturnedValue VME::interpret(CppStackFrame &frame, const uchar *code)
CHECK_EXCEPTION;
MOTH_END_INSTR(GetIterator)
+ MOTH_BEGIN_INSTR(IteratorNext)
+ STORE_ACC();
+ acc = Runtime::method_iteratorNext(engine, accumulator);
+ CHECK_EXCEPTION;
+ MOTH_END_INSTR(IteratorNext)
+
MOTH_BEGIN_INSTR(DeleteMember)
if (!Runtime::method_deleteMember(engine, STACK_VALUE(base), member)) {
if (function->isStrict()) {
@@ -1086,6 +1092,11 @@ QV4::ReturnedValue VME::interpret(CppStackFrame &frame, const uchar *code)
code += offset;
MOTH_END_INSTR(JumpNotUndefined)
+ MOTH_BEGIN_INSTR(JumpEmpty)
+ if (Q_UNLIKELY(acc == QV4::Primitive::emptyValue().asReturnedValue()))
+ code += offset;
+ MOTH_END_INSTR(JumpEmpty)
+
MOTH_BEGIN_INSTR(CmpEqNull)
acc = Encode(ACC.isNullOrUndefined());
MOTH_END_INSTR(CmpEqNull)