diff --git a/src/engine/sequencer.js b/src/engine/sequencer.js index 2db1c6ed8..2db6054b7 100644 --- a/src/engine/sequencer.js +++ b/src/engine/sequencer.js @@ -174,7 +174,8 @@ class Sequencer { // A "null block" - empty branch. thread.popStack(); } - while (thread.peekStack()) { + // Save the current block ID to notice if we did control flow. + while ((currentBlockId = thread.peekStack()) !== 0) { let isWarpMode = thread.peekStackFrame().warpMode; if (isWarpMode && !thread.warpTimer) { // Initialize warp-mode timer if it hasn't been already. @@ -183,8 +184,6 @@ class Sequencer { thread.warpTimer.start(); } // Execute the current block. - // Save the current block ID to notice if we did control flow. - currentBlockId = thread.peekStack(); if (this.runtime.profiler !== null) { if (executeProfilerId === -1) { executeProfilerId = this.runtime.profiler.idByName(executeProfilerFrame);