[issue37500] 3.8.0b2 no longer optimizes away "if 0:" ?
Pablo Galindo Salgado
report at bugs.python.org
Fri Jul 5 17:02:56 EDT 2019
Pablo Galindo Salgado <pablogsal at gmail.com> added the comment:
> To add to the confusion, the treatment of "if __debug__:" and "if not __debug__:" is now asymmetric:
After the code in PR 14116 this becomes:
5 0 LOAD_GLOBAL 0 (print)
2 LOAD_CONST 1 ('debug')
4 CALL_FUNCTION 1
6 POP_TOP
8 JUMP_ABSOLUTE 30
7 10 LOAD_GLOBAL 0 (print)
12 LOAD_CONST 2 ('not debug')
14 CALL_FUNCTION 1
16 POP_TOP
8 18 JUMP_ABSOLUTE 30
9 20 LOAD_GLOBAL 0 (print)
22 LOAD_CONST 3 ('NOT DEBUG')
24 CALL_FUNCTION 1
26 POP_TOP
28 JUMP_FORWARD 8 (to 38)
11 >> 30 LOAD_GLOBAL 0 (print)
32 LOAD_CONST 4 ('DEBUG')
34 CALL_FUNCTION 1
36 POP_TOP
>> 38 LOAD_CONST 0 (None)
40 RETURN_VALUE
and
4 0 JUMP_ABSOLUTE 12
5 2 LOAD_GLOBAL 0 (print)
4 LOAD_CONST 1 ('debug')
6 CALL_FUNCTION 1
8 POP_TOP
10 JUMP_FORWARD 8 (to 20)
7 >> 12 LOAD_GLOBAL 0 (print)
14 LOAD_CONST 2 ('not debug')
16 CALL_FUNCTION 1
18 POP_TOP
9 >> 20 LOAD_GLOBAL 0 (print)
22 LOAD_CONST 3 ('NOT DEBUG')
24 CALL_FUNCTION 1
26 POP_TOP
28 JUMP_FORWARD 8 (to 38)
11 30 LOAD_GLOBAL 0 (print)
32 LOAD_CONST 4 ('DEBUG')
34 CALL_FUNCTION 1
36 POP_TOP
>> 38 LOAD_CONST 0 (None)
----------
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue37500>
_______________________________________
More information about the Python-bugs-list
mailing list