https://github.com/python/cpython/commit/2434fd2d50b8b770585ad5949a664e4bbab4bde1
commit: 2434fd2d50b8b770585ad5949a664e4bbab4bde1
branch: main
author: Mark Shannon <[email protected]>
committer: markshannon <[email protected]>
date: 2025-01-06T22:01:07Z
summary:
GH-128533: Add `NOT_TAKEN` instruction after bytecode optimization. (GH-128554)
files:
M Lib/test/test_compiler_codegen.py
M Lib/test/test_dis.py
M Python/codegen.c
M Python/flowgraph.c
diff --git a/Lib/test/test_compiler_codegen.py
b/Lib/test/test_compiler_codegen.py
index 5655e1b9cf196a..cf5e2d901db4de 100644
--- a/Lib/test/test_compiler_codegen.py
+++ b/Lib/test/test_compiler_codegen.py
@@ -29,7 +29,6 @@ def test_if_expression(self):
('LOAD_CONST', 0, 1),
('TO_BOOL', 0, 1),
('POP_JUMP_IF_FALSE', false_lbl := self.Label(), 1),
- ('NOT_TAKEN', None, 1),
('LOAD_SMALL_INT', 42, 1),
('JUMP_NO_INTERRUPT', exit_lbl := self.Label()),
false_lbl,
diff --git a/Lib/test/test_dis.py b/Lib/test/test_dis.py
index e733a673d003e7..76d9b5401d7d8e 100644
--- a/Lib/test/test_dis.py
+++ b/Lib/test/test_dis.py
@@ -200,8 +200,7 @@ def bug1333982(x=[]):
dis_bug1333982 = """\
%3d RESUME 0
-%3d NOT_TAKEN
- LOAD_COMMON_CONSTANT 0 (AssertionError)
+%3d LOAD_COMMON_CONSTANT 0 (AssertionError)
LOAD_CONST 0 (<code object <genexpr> at 0x...,
file "%s", line %d>)
MAKE_FUNCTION
LOAD_FAST 0 (x)
@@ -433,7 +432,7 @@ def foo(a: int, b: str) -> str:
1 LOAD_SMALL_INT 0
STORE_NAME 0 (x)
- 2 L1: NOT_TAKEN
+ 2 L1: NOP
3 LOAD_NAME 0 (x)
LOAD_SMALL_INT 1
@@ -648,11 +647,11 @@ async def _asyncwith(c):
L20: CLEANUP_THROW
L21: END_SEND
TO_BOOL
- POP_JUMP_IF_TRUE 2 (to L22)
- NOT_TAKEN
- RERAISE 2
- L22: POP_TOP
- L23: POP_EXCEPT
+ POP_JUMP_IF_TRUE 2 (to L24)
+ L22: NOT_TAKEN
+ L23: RERAISE 2
+ L24: POP_TOP
+ L25: POP_EXCEPT
POP_TOP
POP_TOP
POP_TOP
@@ -662,24 +661,25 @@ async def _asyncwith(c):
LOAD_CONST 0 (None)
RETURN_VALUE
- -- L24: COPY 3
+ -- L26: COPY 3
POP_EXCEPT
RERAISE 1
- L25: CALL_INTRINSIC_1 3 (INTRINSIC_STOPITERATION_ERROR)
+ L27: CALL_INTRINSIC_1 3 (INTRINSIC_STOPITERATION_ERROR)
RERAISE 1
ExceptionTable:
- L1 to L3 -> L25 [0] lasti
+ L1 to L3 -> L27 [0] lasti
L3 to L4 -> L12 [4]
- L4 to L6 -> L25 [0] lasti
+ L4 to L6 -> L27 [0] lasti
L6 to L7 -> L16 [2] lasti
- L7 to L9 -> L25 [0] lasti
+ L7 to L9 -> L27 [0] lasti
L9 to L10 -> L14 [2]
- L10 to L13 -> L25 [0] lasti
- L14 to L15 -> L25 [0] lasti
- L16 to L18 -> L24 [4] lasti
+ L10 to L13 -> L27 [0] lasti
+ L14 to L15 -> L27 [0] lasti
+ L16 to L18 -> L26 [4] lasti
L18 to L19 -> L20 [7]
- L19 to L23 -> L24 [4] lasti
- L23 to L25 -> L25 [0] lasti
+ L19 to L22 -> L26 [4] lasti
+ L23 to L25 -> L26 [4] lasti
+ L25 to L27 -> L27 [0] lasti
""" % (_asyncwith.__code__.co_firstlineno,
_asyncwith.__code__.co_firstlineno + 1,
_asyncwith.__code__.co_firstlineno + 2,
@@ -1777,7 +1777,7 @@ def _prepare_test_cases():
Instruction(opname='LOAD_SMALL_INT', opcode=91, arg=10, argval=10,
argrepr='', offset=12, start_offset=12, starts_line=False, line_number=3,
label=None, positions=None, cache_info=None),
Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=14, start_offset=14, starts_line=False, line_number=3, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
Instruction(opname='GET_ITER', opcode=16, arg=None, argval=None, argrepr='',
offset=22, start_offset=22, starts_line=False, line_number=3, label=None,
positions=None, cache_info=None),
- Instruction(opname='FOR_ITER', opcode=69, arg=33, argval=94, argrepr='to
L4', offset=24, start_offset=24, starts_line=False, line_number=3, label=1,
positions=None, cache_info=[('counter', 1, b'\x00\x00')]),
+ Instruction(opname='FOR_ITER', opcode=69, arg=32, argval=92, argrepr='to
L4', offset=24, start_offset=24, starts_line=False, line_number=3, label=1,
positions=None, cache_info=[('counter', 1, b'\x00\x00')]),
Instruction(opname='STORE_FAST', opcode=109, arg=0, argval='i', argrepr='i',
offset=28, start_offset=28, starts_line=False, line_number=3, label=None,
positions=None, cache_info=None),
Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=30, start_offset=30, starts_line=True,
line_number=4, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
Instruction(opname='LOAD_FAST', opcode=83, arg=0, argval='i', argrepr='i',
offset=40, start_offset=40, starts_line=False, line_number=4, label=None,
positions=None, cache_info=None),
@@ -1795,113 +1795,111 @@ def _prepare_test_cases():
Instruction(opname='POP_JUMP_IF_TRUE', opcode=100, arg=3, argval=88,
argrepr='to L3', offset=78, start_offset=78, starts_line=False, line_number=7,
label=None, positions=None, cache_info=[('counter', 1, b'\x00\x00')]),
Instruction(opname='NOT_TAKEN', opcode=28, arg=None, argval=None,
argrepr='', offset=82, start_offset=82, starts_line=False, line_number=7,
label=None, positions=None, cache_info=None),
Instruction(opname='JUMP_BACKWARD', opcode=74, arg=32, argval=24,
argrepr='to L1', offset=84, start_offset=84, starts_line=False, line_number=7,
label=None, positions=None, cache_info=[('counter', 1, b'\x00\x00')]),
- Instruction(opname='NOP', opcode=27, arg=None, argval=None, argrepr='',
offset=88, start_offset=88, starts_line=True, line_number=None, label=3,
positions=None, cache_info=None),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=90, start_offset=90, starts_line=True, line_number=8, label=None,
positions=None, cache_info=None),
- Instruction(opname='JUMP_FORWARD', opcode=76, arg=13, argval=120,
argrepr='to L5', offset=92, start_offset=92, starts_line=False, line_number=8,
label=None, positions=None, cache_info=None),
- Instruction(opname='END_FOR', opcode=9, arg=None, argval=None, argrepr='',
offset=94, start_offset=94, starts_line=True, line_number=3, label=4,
positions=None, cache_info=None),
- Instruction(opname='POP_ITER', opcode=30, arg=None, argval=None, argrepr='',
offset=96, start_offset=96, starts_line=False, line_number=3, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=98, start_offset=98, starts_line=True,
line_number=10, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
- Instruction(opname='LOAD_CONST', opcode=81, arg=0, argval='I can haz else
clause?', argrepr="'I can haz else clause?'", offset=108, start_offset=108,
starts_line=False, line_number=10, label=None, positions=None, cache_info=None),
- Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=110, start_offset=110, starts_line=False, line_number=10, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=118, start_offset=118, starts_line=False, line_number=10, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_FAST_CHECK', opcode=85, arg=0, argval='i',
argrepr='i', offset=120, start_offset=120, starts_line=True, line_number=11,
label=5, positions=None, cache_info=None),
- Instruction(opname='TO_BOOL', opcode=39, arg=None, argval=None, argrepr='',
offset=122, start_offset=122, starts_line=False, line_number=11, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('version', 2,
b'\x00\x00\x00\x00')]),
- Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=37, argval=208,
argrepr='to L8', offset=130, start_offset=130, starts_line=False,
line_number=11, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
- Instruction(opname='NOT_TAKEN', opcode=28, arg=None, argval=None,
argrepr='', offset=134, start_offset=134, starts_line=False, line_number=11,
label=None, positions=None, cache_info=None),
- Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=136, start_offset=136, starts_line=True,
line_number=12, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
- Instruction(opname='LOAD_FAST', opcode=83, arg=0, argval='i', argrepr='i',
offset=146, start_offset=146, starts_line=False, line_number=12, label=None,
positions=None, cache_info=None),
- Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=148, start_offset=148, starts_line=False, line_number=12, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=156, start_offset=156, starts_line=False, line_number=12, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_FAST', opcode=83, arg=0, argval='i', argrepr='i',
offset=158, start_offset=158, starts_line=True, line_number=13, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_SMALL_INT', opcode=91, arg=1, argval=1, argrepr='',
offset=160, start_offset=160, starts_line=False, line_number=13, label=None,
positions=None, cache_info=None),
- Instruction(opname='BINARY_OP', opcode=44, arg=23, argval=23, argrepr='-=',
offset=162, start_offset=162, starts_line=False, line_number=13, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00')]),
- Instruction(opname='STORE_FAST', opcode=109, arg=0, argval='i', argrepr='i',
offset=166, start_offset=166, starts_line=False, line_number=13, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_FAST', opcode=83, arg=0, argval='i', argrepr='i',
offset=168, start_offset=168, starts_line=True, line_number=14, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_SMALL_INT', opcode=91, arg=6, argval=6, argrepr='',
offset=170, start_offset=170, starts_line=False, line_number=14, label=None,
positions=None, cache_info=None),
- Instruction(opname='COMPARE_OP', opcode=56, arg=148, argval='>',
argrepr='bool(>)', offset=172, start_offset=172, starts_line=False,
line_number=14, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
- Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=3, argval=186,
argrepr='to L6', offset=176, start_offset=176, starts_line=False,
line_number=14, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
- Instruction(opname='NOT_TAKEN', opcode=28, arg=None, argval=None,
argrepr='', offset=180, start_offset=180, starts_line=False, line_number=14,
label=None, positions=None, cache_info=None),
- Instruction(opname='JUMP_BACKWARD', opcode=74, arg=33, argval=120,
argrepr='to L5', offset=182, start_offset=182, starts_line=True,
line_number=15, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
- Instruction(opname='LOAD_FAST', opcode=83, arg=0, argval='i', argrepr='i',
offset=186, start_offset=186, starts_line=True, line_number=16, label=6,
positions=None, cache_info=None),
- Instruction(opname='LOAD_SMALL_INT', opcode=91, arg=4, argval=4, argrepr='',
offset=188, start_offset=188, starts_line=False, line_number=16, label=None,
positions=None, cache_info=None),
- Instruction(opname='COMPARE_OP', opcode=56, arg=18, argval='<',
argrepr='bool(<)', offset=190, start_offset=190, starts_line=False,
line_number=16, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
- Instruction(opname='POP_JUMP_IF_TRUE', opcode=100, arg=3, argval=204,
argrepr='to L7', offset=194, start_offset=194, starts_line=False,
line_number=16, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
- Instruction(opname='NOT_TAKEN', opcode=28, arg=None, argval=None,
argrepr='', offset=198, start_offset=198, starts_line=False, line_number=16,
label=None, positions=None, cache_info=None),
- Instruction(opname='JUMP_BACKWARD', opcode=74, arg=42, argval=120,
argrepr='to L5', offset=200, start_offset=200, starts_line=False,
line_number=16, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
- Instruction(opname='NOP', opcode=27, arg=None, argval=None, argrepr='',
offset=204, start_offset=204, starts_line=True, line_number=None, label=7,
positions=None, cache_info=None),
- Instruction(opname='JUMP_FORWARD', opcode=76, arg=11, argval=230,
argrepr='to L9', offset=206, start_offset=206, starts_line=True,
line_number=17, label=None, positions=None, cache_info=None),
- Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=208, start_offset=208, starts_line=True,
line_number=19, label=8, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
- Instruction(opname='LOAD_CONST', opcode=81, arg=1, argval='Who let lolcatz
into this test suite?', argrepr="'Who let lolcatz into this test suite?'",
offset=218, start_offset=218, starts_line=False, line_number=19, label=None,
positions=None, cache_info=None),
- Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=220, start_offset=220, starts_line=False, line_number=19, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=228, start_offset=228, starts_line=False, line_number=19, label=None,
positions=None, cache_info=None),
- Instruction(opname='NOP', opcode=27, arg=None, argval=None, argrepr='',
offset=230, start_offset=230, starts_line=True, line_number=20, label=9,
positions=None, cache_info=None),
- Instruction(opname='LOAD_SMALL_INT', opcode=91, arg=1, argval=1, argrepr='',
offset=232, start_offset=232, starts_line=True, line_number=21, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_SMALL_INT', opcode=91, arg=0, argval=0, argrepr='',
offset=234, start_offset=234, starts_line=False, line_number=21, label=None,
positions=None, cache_info=None),
- Instruction(opname='BINARY_OP', opcode=44, arg=11, argval=11, argrepr='/',
offset=236, start_offset=236, starts_line=False, line_number=21, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00')]),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=240, start_offset=240, starts_line=False, line_number=21, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_FAST', opcode=83, arg=0, argval='i', argrepr='i',
offset=242, start_offset=242, starts_line=True, line_number=25, label=None,
positions=None, cache_info=None),
- Instruction(opname='COPY', opcode=59, arg=1, argval=1, argrepr='',
offset=244, start_offset=244, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_SPECIAL', opcode=92, arg=1, argval=1,
argrepr='__exit__', offset=246, start_offset=246, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
- Instruction(opname='SWAP', opcode=114, arg=2, argval=2, argrepr='',
offset=248, start_offset=248, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
- Instruction(opname='SWAP', opcode=114, arg=3, argval=3, argrepr='',
offset=250, start_offset=250, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_SPECIAL', opcode=92, arg=0, argval=0,
argrepr='__enter__', offset=252, start_offset=252, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
- Instruction(opname='CALL', opcode=51, arg=0, argval=0, argrepr='',
offset=254, start_offset=254, starts_line=False, line_number=25, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
- Instruction(opname='STORE_FAST', opcode=109, arg=1, argval='dodgy',
argrepr='dodgy', offset=262, start_offset=262, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
- Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=264, start_offset=264, starts_line=True,
line_number=26, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
- Instruction(opname='LOAD_CONST', opcode=81, arg=2, argval='Never reach
this', argrepr="'Never reach this'", offset=274, start_offset=274,
starts_line=False, line_number=26, label=None, positions=None, cache_info=None),
- Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=276, start_offset=276, starts_line=False, line_number=26, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=284, start_offset=284, starts_line=False, line_number=26, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_CONST', opcode=81, arg=3, argval=None,
argrepr='None', offset=286, start_offset=286, starts_line=True, line_number=25,
label=None, positions=None, cache_info=None),
- Instruction(opname='LOAD_CONST', opcode=81, arg=3, argval=None,
argrepr='None', offset=288, start_offset=288, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
- Instruction(opname='LOAD_CONST', opcode=81, arg=3, argval=None,
argrepr='None', offset=290, start_offset=290, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
- Instruction(opname='CALL', opcode=51, arg=3, argval=3, argrepr='',
offset=292, start_offset=292, starts_line=False, line_number=25, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=300, start_offset=300, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=302, start_offset=302, starts_line=True,
line_number=28, label=10, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
- Instruction(opname='LOAD_CONST', opcode=81, arg=5, argval="OK, now we're
done", argrepr='"OK, now we\'re done"', offset=312, start_offset=312,
starts_line=False, line_number=28, label=None, positions=None, cache_info=None),
- Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=314, start_offset=314, starts_line=False, line_number=28, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=322, start_offset=322, starts_line=False, line_number=28, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_CONST', opcode=81, arg=3, argval=None,
argrepr='None', offset=324, start_offset=324, starts_line=False,
line_number=28, label=None, positions=None, cache_info=None),
- Instruction(opname='RETURN_VALUE', opcode=35, arg=None, argval=None,
argrepr='', offset=326, start_offset=326, starts_line=False, line_number=28,
label=None, positions=None, cache_info=None),
- Instruction(opname='PUSH_EXC_INFO', opcode=32, arg=None, argval=None,
argrepr='', offset=328, start_offset=328, starts_line=True, line_number=25,
label=None, positions=None, cache_info=None),
- Instruction(opname='WITH_EXCEPT_START', opcode=43, arg=None, argval=None,
argrepr='', offset=330, start_offset=330, starts_line=False, line_number=25,
label=None, positions=None, cache_info=None),
- Instruction(opname='TO_BOOL', opcode=39, arg=None, argval=None, argrepr='',
offset=332, start_offset=332, starts_line=False, line_number=25, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('version', 2,
b'\x00\x00\x00\x00')]),
- Instruction(opname='POP_JUMP_IF_TRUE', opcode=100, arg=2, argval=348,
argrepr='to L11', offset=340, start_offset=340, starts_line=False,
line_number=25, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
- Instruction(opname='NOT_TAKEN', opcode=28, arg=None, argval=None,
argrepr='', offset=344, start_offset=344, starts_line=False, line_number=25,
label=None, positions=None, cache_info=None),
- Instruction(opname='RERAISE', opcode=102, arg=2, argval=2, argrepr='',
offset=346, start_offset=346, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=348, start_offset=348, starts_line=False, line_number=25, label=11,
positions=None, cache_info=None),
- Instruction(opname='POP_EXCEPT', opcode=29, arg=None, argval=None,
argrepr='', offset=350, start_offset=350, starts_line=False, line_number=25,
label=None, positions=None, cache_info=None),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=88, start_offset=88, starts_line=True, line_number=8, label=3,
positions=None, cache_info=None),
+ Instruction(opname='JUMP_FORWARD', opcode=76, arg=13, argval=118,
argrepr='to L5', offset=90, start_offset=90, starts_line=False, line_number=8,
label=None, positions=None, cache_info=None),
+ Instruction(opname='END_FOR', opcode=9, arg=None, argval=None, argrepr='',
offset=92, start_offset=92, starts_line=True, line_number=3, label=4,
positions=None, cache_info=None),
+ Instruction(opname='POP_ITER', opcode=30, arg=None, argval=None, argrepr='',
offset=94, start_offset=94, starts_line=False, line_number=3, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=96, start_offset=96, starts_line=True,
line_number=10, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
+ Instruction(opname='LOAD_CONST', opcode=81, arg=0, argval='I can haz else
clause?', argrepr="'I can haz else clause?'", offset=106, start_offset=106,
starts_line=False, line_number=10, label=None, positions=None, cache_info=None),
+ Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=108, start_offset=108, starts_line=False, line_number=10, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=116, start_offset=116, starts_line=False, line_number=10, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_FAST_CHECK', opcode=85, arg=0, argval='i',
argrepr='i', offset=118, start_offset=118, starts_line=True, line_number=11,
label=5, positions=None, cache_info=None),
+ Instruction(opname='TO_BOOL', opcode=39, arg=None, argval=None, argrepr='',
offset=120, start_offset=120, starts_line=False, line_number=11, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('version', 2,
b'\x00\x00\x00\x00')]),
+ Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=36, argval=204,
argrepr='to L8', offset=128, start_offset=128, starts_line=False,
line_number=11, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
+ Instruction(opname='NOT_TAKEN', opcode=28, arg=None, argval=None,
argrepr='', offset=132, start_offset=132, starts_line=False, line_number=11,
label=None, positions=None, cache_info=None),
+ Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=134, start_offset=134, starts_line=True,
line_number=12, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
+ Instruction(opname='LOAD_FAST', opcode=83, arg=0, argval='i', argrepr='i',
offset=144, start_offset=144, starts_line=False, line_number=12, label=None,
positions=None, cache_info=None),
+ Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=146, start_offset=146, starts_line=False, line_number=12, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=154, start_offset=154, starts_line=False, line_number=12, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_FAST', opcode=83, arg=0, argval='i', argrepr='i',
offset=156, start_offset=156, starts_line=True, line_number=13, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_SMALL_INT', opcode=91, arg=1, argval=1, argrepr='',
offset=158, start_offset=158, starts_line=False, line_number=13, label=None,
positions=None, cache_info=None),
+ Instruction(opname='BINARY_OP', opcode=44, arg=23, argval=23, argrepr='-=',
offset=160, start_offset=160, starts_line=False, line_number=13, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00')]),
+ Instruction(opname='STORE_FAST', opcode=109, arg=0, argval='i', argrepr='i',
offset=164, start_offset=164, starts_line=False, line_number=13, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_FAST', opcode=83, arg=0, argval='i', argrepr='i',
offset=166, start_offset=166, starts_line=True, line_number=14, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_SMALL_INT', opcode=91, arg=6, argval=6, argrepr='',
offset=168, start_offset=168, starts_line=False, line_number=14, label=None,
positions=None, cache_info=None),
+ Instruction(opname='COMPARE_OP', opcode=56, arg=148, argval='>',
argrepr='bool(>)', offset=170, start_offset=170, starts_line=False,
line_number=14, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
+ Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=3, argval=184,
argrepr='to L6', offset=174, start_offset=174, starts_line=False,
line_number=14, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
+ Instruction(opname='NOT_TAKEN', opcode=28, arg=None, argval=None,
argrepr='', offset=178, start_offset=178, starts_line=False, line_number=14,
label=None, positions=None, cache_info=None),
+ Instruction(opname='JUMP_BACKWARD', opcode=74, arg=33, argval=118,
argrepr='to L5', offset=180, start_offset=180, starts_line=True,
line_number=15, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
+ Instruction(opname='LOAD_FAST', opcode=83, arg=0, argval='i', argrepr='i',
offset=184, start_offset=184, starts_line=True, line_number=16, label=6,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_SMALL_INT', opcode=91, arg=4, argval=4, argrepr='',
offset=186, start_offset=186, starts_line=False, line_number=16, label=None,
positions=None, cache_info=None),
+ Instruction(opname='COMPARE_OP', opcode=56, arg=18, argval='<',
argrepr='bool(<)', offset=188, start_offset=188, starts_line=False,
line_number=16, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
+ Instruction(opname='POP_JUMP_IF_TRUE', opcode=100, arg=3, argval=202,
argrepr='to L7', offset=192, start_offset=192, starts_line=False,
line_number=16, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
+ Instruction(opname='NOT_TAKEN', opcode=28, arg=None, argval=None,
argrepr='', offset=196, start_offset=196, starts_line=False, line_number=16,
label=None, positions=None, cache_info=None),
+ Instruction(opname='JUMP_BACKWARD', opcode=74, arg=42, argval=118,
argrepr='to L5', offset=198, start_offset=198, starts_line=False,
line_number=16, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
+ Instruction(opname='JUMP_FORWARD', opcode=76, arg=11, argval=226,
argrepr='to L9', offset=202, start_offset=202, starts_line=True,
line_number=17, label=7, positions=None, cache_info=None),
+ Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=204, start_offset=204, starts_line=True,
line_number=19, label=8, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
+ Instruction(opname='LOAD_CONST', opcode=81, arg=1, argval='Who let lolcatz
into this test suite?', argrepr="'Who let lolcatz into this test suite?'",
offset=214, start_offset=214, starts_line=False, line_number=19, label=None,
positions=None, cache_info=None),
+ Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=216, start_offset=216, starts_line=False, line_number=19, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=224, start_offset=224, starts_line=False, line_number=19, label=None,
positions=None, cache_info=None),
+ Instruction(opname='NOP', opcode=27, arg=None, argval=None, argrepr='',
offset=226, start_offset=226, starts_line=True, line_number=20, label=9,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_SMALL_INT', opcode=91, arg=1, argval=1, argrepr='',
offset=228, start_offset=228, starts_line=True, line_number=21, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_SMALL_INT', opcode=91, arg=0, argval=0, argrepr='',
offset=230, start_offset=230, starts_line=False, line_number=21, label=None,
positions=None, cache_info=None),
+ Instruction(opname='BINARY_OP', opcode=44, arg=11, argval=11, argrepr='/',
offset=232, start_offset=232, starts_line=False, line_number=21, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00')]),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=236, start_offset=236, starts_line=False, line_number=21, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_FAST', opcode=83, arg=0, argval='i', argrepr='i',
offset=238, start_offset=238, starts_line=True, line_number=25, label=None,
positions=None, cache_info=None),
+ Instruction(opname='COPY', opcode=59, arg=1, argval=1, argrepr='',
offset=240, start_offset=240, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_SPECIAL', opcode=92, arg=1, argval=1,
argrepr='__exit__', offset=242, start_offset=242, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
+ Instruction(opname='SWAP', opcode=114, arg=2, argval=2, argrepr='',
offset=244, start_offset=244, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
+ Instruction(opname='SWAP', opcode=114, arg=3, argval=3, argrepr='',
offset=246, start_offset=246, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_SPECIAL', opcode=92, arg=0, argval=0,
argrepr='__enter__', offset=248, start_offset=248, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
+ Instruction(opname='CALL', opcode=51, arg=0, argval=0, argrepr='',
offset=250, start_offset=250, starts_line=False, line_number=25, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
+ Instruction(opname='STORE_FAST', opcode=109, arg=1, argval='dodgy',
argrepr='dodgy', offset=258, start_offset=258, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
+ Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=260, start_offset=260, starts_line=True,
line_number=26, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
+ Instruction(opname='LOAD_CONST', opcode=81, arg=2, argval='Never reach
this', argrepr="'Never reach this'", offset=270, start_offset=270,
starts_line=False, line_number=26, label=None, positions=None, cache_info=None),
+ Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=272, start_offset=272, starts_line=False, line_number=26, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=280, start_offset=280, starts_line=False, line_number=26, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_CONST', opcode=81, arg=3, argval=None,
argrepr='None', offset=282, start_offset=282, starts_line=True, line_number=25,
label=None, positions=None, cache_info=None),
+ Instruction(opname='LOAD_CONST', opcode=81, arg=3, argval=None,
argrepr='None', offset=284, start_offset=284, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
+ Instruction(opname='LOAD_CONST', opcode=81, arg=3, argval=None,
argrepr='None', offset=286, start_offset=286, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
+ Instruction(opname='CALL', opcode=51, arg=3, argval=3, argrepr='',
offset=288, start_offset=288, starts_line=False, line_number=25, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=296, start_offset=296, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=298, start_offset=298, starts_line=True,
line_number=28, label=10, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
+ Instruction(opname='LOAD_CONST', opcode=81, arg=5, argval="OK, now we're
done", argrepr='"OK, now we\'re done"', offset=308, start_offset=308,
starts_line=False, line_number=28, label=None, positions=None, cache_info=None),
+ Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=310, start_offset=310, starts_line=False, line_number=28, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=318, start_offset=318, starts_line=False, line_number=28, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_CONST', opcode=81, arg=3, argval=None,
argrepr='None', offset=320, start_offset=320, starts_line=False,
line_number=28, label=None, positions=None, cache_info=None),
+ Instruction(opname='RETURN_VALUE', opcode=35, arg=None, argval=None,
argrepr='', offset=322, start_offset=322, starts_line=False, line_number=28,
label=None, positions=None, cache_info=None),
+ Instruction(opname='PUSH_EXC_INFO', opcode=32, arg=None, argval=None,
argrepr='', offset=324, start_offset=324, starts_line=True, line_number=25,
label=None, positions=None, cache_info=None),
+ Instruction(opname='WITH_EXCEPT_START', opcode=43, arg=None, argval=None,
argrepr='', offset=326, start_offset=326, starts_line=False, line_number=25,
label=None, positions=None, cache_info=None),
+ Instruction(opname='TO_BOOL', opcode=39, arg=None, argval=None, argrepr='',
offset=328, start_offset=328, starts_line=False, line_number=25, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('version', 2,
b'\x00\x00\x00\x00')]),
+ Instruction(opname='POP_JUMP_IF_TRUE', opcode=100, arg=2, argval=344,
argrepr='to L11', offset=336, start_offset=336, starts_line=False,
line_number=25, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
+ Instruction(opname='NOT_TAKEN', opcode=28, arg=None, argval=None,
argrepr='', offset=340, start_offset=340, starts_line=False, line_number=25,
label=None, positions=None, cache_info=None),
+ Instruction(opname='RERAISE', opcode=102, arg=2, argval=2, argrepr='',
offset=342, start_offset=342, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=344, start_offset=344, starts_line=False, line_number=25, label=11,
positions=None, cache_info=None),
+ Instruction(opname='POP_EXCEPT', opcode=29, arg=None, argval=None,
argrepr='', offset=346, start_offset=346, starts_line=False, line_number=25,
label=None, positions=None, cache_info=None),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=348, start_offset=348, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=350, start_offset=350, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=352, start_offset=352, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=354, start_offset=354, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=356, start_offset=356, starts_line=False, line_number=25, label=None,
positions=None, cache_info=None),
- Instruction(opname='JUMP_BACKWARD_NO_INTERRUPT', opcode=75, arg=29,
argval=302, argrepr='to L10', offset=358, start_offset=358, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
- Instruction(opname='COPY', opcode=59, arg=3, argval=3, argrepr='',
offset=360, start_offset=360, starts_line=True, line_number=None, label=None,
positions=None, cache_info=None),
- Instruction(opname='POP_EXCEPT', opcode=29, arg=None, argval=None,
argrepr='', offset=362, start_offset=362, starts_line=False, line_number=None,
label=None, positions=None, cache_info=None),
- Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='',
offset=364, start_offset=364, starts_line=False, line_number=None, label=None,
positions=None, cache_info=None),
- Instruction(opname='PUSH_EXC_INFO', opcode=32, arg=None, argval=None,
argrepr='', offset=366, start_offset=366, starts_line=False, line_number=None,
label=None, positions=None, cache_info=None),
- Instruction(opname='LOAD_GLOBAL', opcode=89, arg=4,
argval='ZeroDivisionError', argrepr='ZeroDivisionError', offset=368,
start_offset=368, starts_line=True, line_number=22, label=None, positions=None,
cache_info=[('counter', 1, b'\x00\x00'), ('index', 1, b'\x00\x00'),
('module_keys_version', 1, b'\x00\x00'), ('builtin_keys_version', 1,
b'\x00\x00')]),
- Instruction(opname='CHECK_EXC_MATCH', opcode=5, arg=None, argval=None,
argrepr='', offset=378, start_offset=378, starts_line=False, line_number=22,
label=None, positions=None, cache_info=None),
- Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=15, argval=414,
argrepr='to L12', offset=380, start_offset=380, starts_line=False,
line_number=22, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
- Instruction(opname='NOT_TAKEN', opcode=28, arg=None, argval=None,
argrepr='', offset=384, start_offset=384, starts_line=False, line_number=22,
label=None, positions=None, cache_info=None),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=386, start_offset=386, starts_line=False, line_number=22, label=None,
positions=None, cache_info=None),
- Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=388, start_offset=388, starts_line=True,
line_number=23, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
- Instruction(opname='LOAD_CONST', opcode=81, arg=4, argval='Here we go, here
we go, here we go...', argrepr="'Here we go, here we go, here we go...'",
offset=398, start_offset=398, starts_line=False, line_number=23, label=None,
positions=None, cache_info=None),
- Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=400, start_offset=400, starts_line=False, line_number=23, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=408, start_offset=408, starts_line=False, line_number=23, label=None,
positions=None, cache_info=None),
- Instruction(opname='POP_EXCEPT', opcode=29, arg=None, argval=None,
argrepr='', offset=410, start_offset=410, starts_line=False, line_number=23,
label=None, positions=None, cache_info=None),
- Instruction(opname='JUMP_BACKWARD_NO_INTERRUPT', opcode=75, arg=56,
argval=302, argrepr='to L10', offset=412, start_offset=412, starts_line=False,
line_number=23, label=None, positions=None, cache_info=None),
- Instruction(opname='RERAISE', opcode=102, arg=0, argval=0, argrepr='',
offset=414, start_offset=414, starts_line=True, line_number=22, label=12,
positions=None, cache_info=None),
- Instruction(opname='COPY', opcode=59, arg=3, argval=3, argrepr='',
offset=416, start_offset=416, starts_line=True, line_number=None, label=None,
positions=None, cache_info=None),
- Instruction(opname='POP_EXCEPT', opcode=29, arg=None, argval=None,
argrepr='', offset=418, start_offset=418, starts_line=False, line_number=None,
label=None, positions=None, cache_info=None),
- Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='',
offset=420, start_offset=420, starts_line=False, line_number=None, label=None,
positions=None, cache_info=None),
- Instruction(opname='PUSH_EXC_INFO', opcode=32, arg=None, argval=None,
argrepr='', offset=422, start_offset=422, starts_line=False, line_number=None,
label=None, positions=None, cache_info=None),
- Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=424, start_offset=424, starts_line=True,
line_number=28, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
- Instruction(opname='LOAD_CONST', opcode=81, arg=5, argval="OK, now we're
done", argrepr='"OK, now we\'re done"', offset=434, start_offset=434,
starts_line=False, line_number=28, label=None, positions=None, cache_info=None),
- Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=436, start_offset=436, starts_line=False, line_number=28, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
- Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=444, start_offset=444, starts_line=False, line_number=28, label=None,
positions=None, cache_info=None),
- Instruction(opname='RERAISE', opcode=102, arg=0, argval=0, argrepr='',
offset=446, start_offset=446, starts_line=False, line_number=28, label=None,
positions=None, cache_info=None),
- Instruction(opname='COPY', opcode=59, arg=3, argval=3, argrepr='',
offset=448, start_offset=448, starts_line=True, line_number=None, label=None,
positions=None, cache_info=None),
- Instruction(opname='POP_EXCEPT', opcode=29, arg=None, argval=None,
argrepr='', offset=450, start_offset=450, starts_line=False, line_number=None,
label=None, positions=None, cache_info=None),
- Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='',
offset=452, start_offset=452, starts_line=False, line_number=None, label=None,
positions=None, cache_info=None),
+ Instruction(opname='JUMP_BACKWARD_NO_INTERRUPT', opcode=75, arg=29,
argval=298, argrepr='to L10', offset=354, start_offset=354, starts_line=False,
line_number=25, label=None, positions=None, cache_info=None),
+ Instruction(opname='COPY', opcode=59, arg=3, argval=3, argrepr='',
offset=356, start_offset=356, starts_line=True, line_number=None, label=None,
positions=None, cache_info=None),
+ Instruction(opname='POP_EXCEPT', opcode=29, arg=None, argval=None,
argrepr='', offset=358, start_offset=358, starts_line=False, line_number=None,
label=None, positions=None, cache_info=None),
+ Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='',
offset=360, start_offset=360, starts_line=False, line_number=None, label=None,
positions=None, cache_info=None),
+ Instruction(opname='PUSH_EXC_INFO', opcode=32, arg=None, argval=None,
argrepr='', offset=362, start_offset=362, starts_line=False, line_number=None,
label=None, positions=None, cache_info=None),
+ Instruction(opname='LOAD_GLOBAL', opcode=89, arg=4,
argval='ZeroDivisionError', argrepr='ZeroDivisionError', offset=364,
start_offset=364, starts_line=True, line_number=22, label=None, positions=None,
cache_info=[('counter', 1, b'\x00\x00'), ('index', 1, b'\x00\x00'),
('module_keys_version', 1, b'\x00\x00'), ('builtin_keys_version', 1,
b'\x00\x00')]),
+ Instruction(opname='CHECK_EXC_MATCH', opcode=5, arg=None, argval=None,
argrepr='', offset=374, start_offset=374, starts_line=False, line_number=22,
label=None, positions=None, cache_info=None),
+ Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=15, argval=410,
argrepr='to L12', offset=376, start_offset=376, starts_line=False,
line_number=22, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00')]),
+ Instruction(opname='NOT_TAKEN', opcode=28, arg=None, argval=None,
argrepr='', offset=380, start_offset=380, starts_line=False, line_number=22,
label=None, positions=None, cache_info=None),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=382, start_offset=382, starts_line=False, line_number=22, label=None,
positions=None, cache_info=None),
+ Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=384, start_offset=384, starts_line=True,
line_number=23, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
+ Instruction(opname='LOAD_CONST', opcode=81, arg=4, argval='Here we go, here
we go, here we go...', argrepr="'Here we go, here we go, here we go...'",
offset=394, start_offset=394, starts_line=False, line_number=23, label=None,
positions=None, cache_info=None),
+ Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=396, start_offset=396, starts_line=False, line_number=23, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=404, start_offset=404, starts_line=False, line_number=23, label=None,
positions=None, cache_info=None),
+ Instruction(opname='POP_EXCEPT', opcode=29, arg=None, argval=None,
argrepr='', offset=406, start_offset=406, starts_line=False, line_number=23,
label=None, positions=None, cache_info=None),
+ Instruction(opname='JUMP_BACKWARD_NO_INTERRUPT', opcode=75, arg=56,
argval=298, argrepr='to L10', offset=408, start_offset=408, starts_line=False,
line_number=23, label=None, positions=None, cache_info=None),
+ Instruction(opname='RERAISE', opcode=102, arg=0, argval=0, argrepr='',
offset=410, start_offset=410, starts_line=True, line_number=22, label=12,
positions=None, cache_info=None),
+ Instruction(opname='COPY', opcode=59, arg=3, argval=3, argrepr='',
offset=412, start_offset=412, starts_line=True, line_number=None, label=None,
positions=None, cache_info=None),
+ Instruction(opname='POP_EXCEPT', opcode=29, arg=None, argval=None,
argrepr='', offset=414, start_offset=414, starts_line=False, line_number=None,
label=None, positions=None, cache_info=None),
+ Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='',
offset=416, start_offset=416, starts_line=False, line_number=None, label=None,
positions=None, cache_info=None),
+ Instruction(opname='PUSH_EXC_INFO', opcode=32, arg=None, argval=None,
argrepr='', offset=418, start_offset=418, starts_line=False, line_number=None,
label=None, positions=None, cache_info=None),
+ Instruction(opname='LOAD_GLOBAL', opcode=89, arg=3, argval='print',
argrepr='print + NULL', offset=420, start_offset=420, starts_line=True,
line_number=28, label=None, positions=None, cache_info=[('counter', 1,
b'\x00\x00'), ('index', 1, b'\x00\x00'), ('module_keys_version', 1,
b'\x00\x00'), ('builtin_keys_version', 1, b'\x00\x00')]),
+ Instruction(opname='LOAD_CONST', opcode=81, arg=5, argval="OK, now we're
done", argrepr='"OK, now we\'re done"', offset=430, start_offset=430,
starts_line=False, line_number=28, label=None, positions=None, cache_info=None),
+ Instruction(opname='CALL', opcode=51, arg=1, argval=1, argrepr='',
offset=432, start_offset=432, starts_line=False, line_number=28, label=None,
positions=None, cache_info=[('counter', 1, b'\x00\x00'), ('func_version', 2,
b'\x00\x00\x00\x00')]),
+ Instruction(opname='POP_TOP', opcode=31, arg=None, argval=None, argrepr='',
offset=440, start_offset=440, starts_line=False, line_number=28, label=None,
positions=None, cache_info=None),
+ Instruction(opname='RERAISE', opcode=102, arg=0, argval=0, argrepr='',
offset=442, start_offset=442, starts_line=False, line_number=28, label=None,
positions=None, cache_info=None),
+ Instruction(opname='COPY', opcode=59, arg=3, argval=3, argrepr='',
offset=444, start_offset=444, starts_line=True, line_number=None, label=None,
positions=None, cache_info=None),
+ Instruction(opname='POP_EXCEPT', opcode=29, arg=None, argval=None,
argrepr='', offset=446, start_offset=446, starts_line=False, line_number=None,
label=None, positions=None, cache_info=None),
+ Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='',
offset=448, start_offset=448, starts_line=False, line_number=None, label=None,
positions=None, cache_info=None),
]
# One last piece of inspect fodder to check the default line number handling
diff --git a/Python/codegen.c b/Python/codegen.c
index 14f9f5ad1254f5..61707ba677097c 100644
--- a/Python/codegen.c
+++ b/Python/codegen.c
@@ -406,13 +406,7 @@ codegen_addop_j(instr_sequence *seq, location loc,
assert(IS_JUMP_TARGET_LABEL(target));
assert(OPCODE_HAS_JUMP(opcode) || IS_BLOCK_PUSH_OPCODE(opcode));
assert(!IS_ASSEMBLER_OPCODE(opcode));
- if (_PyInstructionSequence_Addop(seq, opcode, target.id, loc) != SUCCESS) {
- return ERROR;
- }
- if (IS_CONDITIONAL_JUMP_OPCODE(opcode)) {
- return _PyInstructionSequence_Addop(seq, NOT_TAKEN, 0, NO_LOCATION);
- }
- return SUCCESS;
+ return _PyInstructionSequence_Addop(seq, opcode, target.id, loc);
}
#define ADDOP_JUMP(C, LOC, OP, O) \
diff --git a/Python/flowgraph.c b/Python/flowgraph.c
index 64df6290de06ba..017216aadd1f01 100644
--- a/Python/flowgraph.c
+++ b/Python/flowgraph.c
@@ -522,14 +522,15 @@ no_redundant_jumps(cfg_builder *g) {
static int
normalize_jumps_in_block(cfg_builder *g, basicblock *b) {
cfg_instr *last = basicblock_last_instr(b);
- if (last == NULL || !is_jump(last) ||
- IS_UNCONDITIONAL_JUMP_OPCODE(last->i_opcode)) {
+ if (last == NULL || !IS_CONDITIONAL_JUMP_OPCODE(last->i_opcode)) {
return SUCCESS;
}
assert(!IS_ASSEMBLER_OPCODE(last->i_opcode));
bool is_forward = last->i_target->b_visited == 0;
if (is_forward) {
+ RETURN_IF_ERROR(
+ basicblock_addop(b, NOT_TAKEN, 0, last->i_loc));
return SUCCESS;
}
@@ -557,10 +558,6 @@ normalize_jumps_in_block(cfg_builder *g, basicblock *b) {
if (backwards_jump == NULL) {
return ERROR;
}
- assert(b->b_next->b_iused > 0);
- assert(b->b_next->b_instr[0].i_opcode == NOT_TAKEN);
- b->b_next->b_instr[0].i_opcode = NOP;
- b->b_next->b_instr[0].i_loc = NO_LOCATION;
RETURN_IF_ERROR(
basicblock_addop(backwards_jump, NOT_TAKEN, 0, last->i_loc));
RETURN_IF_ERROR(
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]