diff --git a/src/main/java/org/squiddev/cobalt/debug/DebugState.java b/src/main/java/org/squiddev/cobalt/debug/DebugState.java index e073023d..3a768ac6 100644 --- a/src/main/java/org/squiddev/cobalt/debug/DebugState.java +++ b/src/main/java/org/squiddev/cobalt/debug/DebugState.java @@ -26,7 +26,6 @@ import org.squiddev.cobalt.*; import org.squiddev.cobalt.function.Dispatch; -import org.squiddev.cobalt.function.LuaFunction; import java.util.Arrays; @@ -328,7 +327,7 @@ private void returnHook(DebugFrame frame, Varargs result) throws LuaError, Unwin * @throws UnwindThrowable If the hook transfers control to another coroutine. */ public void onInstruction(DebugFrame frame, int pc) throws LuaError, UnwindThrowable { - frame.pc = pc; + // TODO: Can we avoid the inhook here? if (inhook || (hookMask & (HOOK_LINE | HOOK_COUNT)) != 0) onInstructionWorker(frame, pc); } diff --git a/src/main/java/org/squiddev/cobalt/function/LuaInterpreter.java b/src/main/java/org/squiddev/cobalt/function/LuaInterpreter.java index a44f7530..4fd64506 100644 --- a/src/main/java/org/squiddev/cobalt/function/LuaInterpreter.java +++ b/src/main/java/org/squiddev/cobalt/function/LuaInterpreter.java @@ -173,10 +173,8 @@ static Varargs execute(final LuaState state, DebugFrame di, LuaInterpretedFuncti // process instructions while (true) { - if (state.isInterrupted()) { - di.pc = pc; - state.handleInterrupt(); - } + di.pc = pc; + if (state.isInterrupted()) state.handleInterrupt(); ds.onInstruction(di, pc); // pull out instruction