[pypy-commit] pypy default: Oops. If, during translation, we execute app-level code that contains a

arigo noreply at buildbot.pypy.org
Sat Jul 26 13:55:40 CEST 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r72497:c97bfecbfc61
Date: 2014-07-26 13:54 +0200
http://bitbucket.org/pypy/pypy/changeset/c97bfecbfc61/

Log:	Oops. If, during translation, we execute app-level code that
	contains a "continue" in a "try:" block, and if we're translating
	with "-Ojit", then crash. This case occurs in the py3.3 branch.

diff --git a/pypy/interpreter/pyopcode.py b/pypy/interpreter/pyopcode.py
--- a/pypy/interpreter/pyopcode.py
+++ b/pypy/interpreter/pyopcode.py
@@ -200,7 +200,7 @@
             elif opcode == opcodedesc.BREAK_LOOP.index:
                 next_instr = self.BREAK_LOOP(oparg, next_instr)
             elif opcode == opcodedesc.CONTINUE_LOOP.index:
-                next_instr = self.CONTINUE_LOOP(oparg, next_instr)
+                return self.CONTINUE_LOOP(oparg, next_instr)
             elif opcode == opcodedesc.FOR_ITER.index:
                 next_instr = self.FOR_ITER(oparg, next_instr)
             elif opcode == opcodedesc.JUMP_FORWARD.index:


More information about the pypy-commit mailing list