diff options
Diffstat (limited to 'src/qml/jit')
-rw-r--r-- | src/qml/jit/qv4baselinejit.cpp | 3 | ||||
-rw-r--r-- | src/qml/jit/qv4baselinejit_p.h | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/qml/jit/qv4baselinejit.cpp b/src/qml/jit/qv4baselinejit.cpp index 9e9c586982..d0ac169e4f 100644 --- a/src/qml/jit/qv4baselinejit.cpp +++ b/src/qml/jit/qv4baselinejit.cpp @@ -682,7 +682,7 @@ void BaselineJIT::generate_GetIterator(int iterator) as->checkException(); } -void BaselineJIT::generate_IteratorNext(int value) +void BaselineJIT::generate_IteratorNext(int value, int done) { as->saveAccumulatorInFrame(); as->prepareCallWithArgCount(3); @@ -690,6 +690,7 @@ void BaselineJIT::generate_IteratorNext(int value) as->passAccumulatorAsArg(1); as->passEngineAsArg(0); BASELINEJIT_GENERATE_RUNTIME_CALL(Runtime::method_iteratorNext, CallResultDestination::InAccumulator); + as->storeReg(done); as->checkException(); } diff --git a/src/qml/jit/qv4baselinejit_p.h b/src/qml/jit/qv4baselinejit_p.h index 972e9d07b7..7e3fcfa5e6 100644 --- a/src/qml/jit/qv4baselinejit_p.h +++ b/src/qml/jit/qv4baselinejit_p.h @@ -148,7 +148,7 @@ public: void generate_PopScriptContext() override; void generate_PopContext() override; void generate_GetIterator(int iterator) override; - void generate_IteratorNext(int value) override; + void generate_IteratorNext(int value, int done) override; void generate_IteratorClose(int done) override; void generate_DestructureRestElement() override; void generate_DeleteProperty(int base, int index) override; |