Author: Carl Friedrich Bolz-Tereick <[email protected]>
Branch: py3.6-wordcode
Changeset: r94621:8bd5845552f9
Date: 2018-05-19 11:24 +0200
http://bitbucket.org/pypy/pypy/changeset/8bd5845552f9/
Log: another place that inspects the bytecode
diff --git a/pypy/interpreter/pyframe.py b/pypy/interpreter/pyframe.py
--- a/pypy/interpreter/pyframe.py
+++ b/pypy/interpreter/pyframe.py
@@ -691,6 +691,7 @@
endblock = [-1] # current finally/except block stack
addr = 0
while addr < len(code):
+ assert addr & 1 == 0
op = ord(code[addr])
if op in (SETUP_LOOP, SETUP_EXCEPT, SETUP_FINALLY, SETUP_WITH,
SETUP_ASYNC_WITH):
@@ -713,10 +714,7 @@
if addr == self.last_instr:
f_lasti_handler_addr = endblock[-1]
- if op >= HAVE_ARGUMENT:
- addr += 3
- else:
- addr += 1
+ addr += 2
if len(blockstack) != 0 or len(endblock) != 1:
raise oefmt(space.w_SystemError,
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit