瀏覽代碼

reset loop counter after last run

sec65 3 年之前
父節點
當前提交
1fea9a25a5
共有 2 個文件被更改,包括 5 次插入0 次删除
  1. 4 0
      src/core/operations/ConditionalJump.mjs
  2. 1 0
      src/core/operations/Jump.mjs

+ 4 - 0
src/core/operations/ConditionalJump.mjs

@@ -64,6 +64,7 @@ class ConditionalJump extends Operation {
             jmpIndex = getLabelIndex(label, state);
 
         if (state.numJumps >= maxJumps || jmpIndex === -1) {
+            state.numJumps = 0;
             return state;
         }
 
@@ -74,6 +75,9 @@ class ConditionalJump extends Operation {
                 state.progress = jmpIndex;
                 state.numJumps++;
             }
+            else {
+                state.numJumps = 0;
+            }
         }
 
         return state;

+ 1 - 0
src/core/operations/Jump.mjs

@@ -52,6 +52,7 @@ class Jump extends Operation {
         const jmpIndex = getLabelIndex(label, state);
 
         if (state.numJumps >= maxJumps || jmpIndex === -1) {
+            state.numJumps = 0;
             return state;
         }