Improve stack depth computation for try/except and try/finally
Add CONTINUE_LOOP to the list of unconditional transfers
diff --git a/Lib/compiler/pyassem.py b/Lib/compiler/pyassem.py
index 413a954..dc01656 100644
--- a/Lib/compiler/pyassem.py
+++ b/Lib/compiler/pyassem.py
@@ -267,7 +267,7 @@
assert len(self.next) == 1, map(str, self.next)
_uncond_transfer = ('RETURN_VALUE', 'RAISE_VARARGS',
- 'JUMP_ABSOLUTE', 'JUMP_FORWARD')
+ 'JUMP_ABSOLUTE', 'JUMP_FORWARD', 'CONTINUE_LOOP')
def pruneNext(self):
"""Remove bogus edge for unconditional transfers
@@ -753,6 +753,9 @@
'IMPORT_STAR': -1,
'IMPORT_NAME': 0,
'IMPORT_FROM': 1,
+ # close enough...
+ 'SETUP_EXCEPT': 3,
+ 'SETUP_FINALLY': 3,
}
# use pattern match
patterns = [