Skip to content

Commit f9e5993

Browse files
committed
fix test_dis
1 parent 2c68a21 commit f9e5993

File tree

2 files changed

+38
-38
lines changed

2 files changed

+38
-38
lines changed

Lib/dis.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ def _get_instructions_bytes(code, varname_from_oparg=None,
495495
argrepr = "to " + repr(argval)
496496
elif deop in hasjrel:
497497
signed_arg = -arg if _is_backward_jump(deop) else arg
498-
argval = offset + 4 + signed_arg*2
498+
argval = offset + (signed_arg + 2) * 2
499499
if deop == FOR_ITER:
500500
argval += 2
501501
argrepr = "to " + repr(argval)
@@ -654,7 +654,7 @@ def findlabels(code):
654654
if deop in hasjrel:
655655
if _is_backward_jump(deop):
656656
arg = -arg
657-
label = offset + 4 + arg*2
657+
label = offset + (arg + 2) * 2
658658
if deop == FOR_ITER:
659659
label += 2
660660
elif deop in hasjabs:

Lib/test/test_dis.py

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -143,10 +143,10 @@ def bug708901():
143143
144144
%3d CALL 2
145145
GET_ITER
146-
>> FOR_ITER 4 (to 54)
146+
>> FOR_ITER 4 (to 56)
147147
STORE_FAST 0 (res)
148148
149-
%3d JUMP_BACKWARD 7 (to 40)
149+
%3d JUMP_BACKWARD 7 (to 42)
150150
151151
%3d >> END_FOR
152152
LOAD_CONST 0 (None)
@@ -231,7 +231,7 @@ def bug42562():
231231
EXTENDED_ARG 255
232232
EXTENDED_ARG 65535
233233
>> EXTENDED_ARG 16777215
234-
JUMP_FORWARD -4 (to 6)
234+
JUMP_FORWARD -4 (to 8)
235235
"""
236236

237237
_BIG_LINENO_FORMAT = """\
@@ -348,7 +348,7 @@ def bug42562():
348348
BINARY_OP 13 (+=)
349349
STORE_NAME 0 (x)
350350
351-
2 JUMP_BACKWARD 11 (to 14)
351+
2 JUMP_BACKWARD 11 (to 16)
352352
"""
353353

354354
dis_traceback = """\
@@ -367,7 +367,7 @@ def bug42562():
367367
368368
%3d LOAD_GLOBAL 0 (Exception)
369369
CHECK_EXC_MATCH
370-
POP_JUMP_IF_FALSE 37 (to 132)
370+
POP_JUMP_IF_FALSE 37 (to 134)
371371
STORE_FAST 0 (e)
372372
373373
%3d LOAD_FAST 0 (e)
@@ -451,7 +451,7 @@ def _with(c):
451451
452452
%3d >> PUSH_EXC_INFO
453453
WITH_EXCEPT_START
454-
POP_JUMP_IF_TRUE 2 (to 82)
454+
POP_JUMP_IF_TRUE 2 (to 84)
455455
RERAISE 2
456456
>> POP_TOP
457457
POP_EXCEPT
@@ -490,10 +490,10 @@ async def _asyncwith(c):
490490
BEFORE_ASYNC_WITH
491491
GET_AWAITABLE 1
492492
LOAD_CONST 0 (None)
493-
>> SEND 6 (to 42)
493+
>> SEND 6 (to 44)
494494
YIELD_VALUE 3
495495
RESUME 3
496-
JUMP_BACKWARD_NO_INTERRUPT 8 (to 26)
496+
JUMP_BACKWARD_NO_INTERRUPT 8 (to 28)
497497
>> POP_TOP
498498
499499
%3d LOAD_CONST 1 (1)
@@ -505,10 +505,10 @@ async def _asyncwith(c):
505505
CALL 2
506506
GET_AWAITABLE 2
507507
LOAD_CONST 0 (None)
508-
>> SEND 6 (to 102)
508+
>> SEND 6 (to 104)
509509
YIELD_VALUE 2
510510
RESUME 3
511-
JUMP_BACKWARD_NO_INTERRUPT 8 (to 86)
511+
JUMP_BACKWARD_NO_INTERRUPT 8 (to 88)
512512
>> POP_TOP
513513
514514
%3d LOAD_CONST 2 (2)
@@ -517,19 +517,19 @@ async def _asyncwith(c):
517517
RETURN_VALUE
518518
519519
%3d >> CLEANUP_THROW
520-
JUMP_BACKWARD 44 (to 42)
520+
JUMP_BACKWARD 44 (to 44)
521521
>> CLEANUP_THROW
522-
JUMP_BACKWARD 18 (to 102)
522+
JUMP_BACKWARD 18 (to 104)
523523
>> PUSH_EXC_INFO
524524
WITH_EXCEPT_START
525525
GET_AWAITABLE 2
526526
LOAD_CONST 0 (None)
527-
>> SEND 8 (to 174)
527+
>> SEND 8 (to 176)
528528
YIELD_VALUE 6
529529
RESUME 3
530-
JUMP_BACKWARD_NO_INTERRUPT 8 (to 154)
530+
JUMP_BACKWARD_NO_INTERRUPT 8 (to 156)
531531
>> CLEANUP_THROW
532-
>> POP_JUMP_IF_TRUE 2 (to 182)
532+
>> POP_JUMP_IF_TRUE 2 (to 184)
533533
RERAISE 2
534534
>> POP_TOP
535535
POP_EXCEPT
@@ -695,13 +695,13 @@ def foo(x):
695695
%3d RESUME 0
696696
BUILD_LIST 0
697697
LOAD_FAST 0 (.0)
698-
>> FOR_ITER 13 (to 46)
698+
>> FOR_ITER 13 (to 48)
699699
STORE_FAST 1 (z)
700700
LOAD_DEREF 2 (x)
701701
LOAD_FAST 1 (z)
702702
BINARY_OP 0 (+)
703703
LIST_APPEND 2
704-
JUMP_BACKWARD 16 (to 14)
704+
JUMP_BACKWARD 16 (to 16)
705705
>> END_FOR
706706
RETURN_VALUE
707707
""" % (dis_nested_1,
@@ -743,14 +743,14 @@ def loop_test():
743743
LOAD_CONST 2 (3)
744744
BINARY_OP 5 (*)
745745
GET_ITER
746-
>> FOR_ITER_LIST 21 (to 76)
746+
>> FOR_ITER_LIST 21 (to 78)
747747
STORE_FAST 0 (i)
748748
749749
%3d LOAD_GLOBAL_MODULE 1 (NULL + load_test)
750750
LOAD_FAST 0 (i)
751751
CALL_PY_WITH_DEFAULTS 1
752752
POP_TOP
753-
JUMP_BACKWARD 24 (to 28)
753+
JUMP_BACKWARD 24 (to 30)
754754
755755
%3d >> END_FOR
756756
LOAD_CONST 0 (None)
@@ -1554,7 +1554,7 @@ def _prepare_test_cases():
15541554
Instruction(opname='LOAD_CONST', opcode=100, arg=1, argval=10, argrepr='10', offset=18, starts_line=None, is_jump_target=False, positions=None),
15551555
Instruction(opname='CALL', opcode=171, arg=1, argval=1, argrepr='', offset=22, starts_line=None, is_jump_target=False, positions=None),
15561556
Instruction(opname='GET_ITER', opcode=68, arg=None, argval=None, argrepr='', offset=34, starts_line=None, is_jump_target=False, positions=None),
1557-
Instruction(opname='FOR_ITER', opcode=93, arg=47, argval=136, argrepr='to 136', offset=38, starts_line=None, is_jump_target=True, positions=None),
1557+
Instruction(opname='FOR_ITER', opcode=93, arg=47, argval=138, argrepr='to 138', offset=38, starts_line=None, is_jump_target=True, positions=None),
15581558
Instruction(opname='STORE_FAST', opcode=125, arg=0, argval='i', argrepr='i', offset=44, starts_line=None, is_jump_target=False, positions=None),
15591559
Instruction(opname='LOAD_GLOBAL', opcode=116, arg=3, argval='print', argrepr='NULL + print', offset=48, starts_line=4, is_jump_target=False, positions=None),
15601560
Instruction(opname='LOAD_FAST', opcode=124, arg=0, argval='i', argrepr='i', offset=62, starts_line=None, is_jump_target=False, positions=None),
@@ -1563,22 +1563,22 @@ def _prepare_test_cases():
15631563
Instruction(opname='LOAD_FAST', opcode=124, arg=0, argval='i', argrepr='i', offset=82, starts_line=5, is_jump_target=False, positions=None),
15641564
Instruction(opname='LOAD_CONST', opcode=100, arg=2, argval=4, argrepr='4', offset=86, starts_line=None, is_jump_target=False, positions=None),
15651565
Instruction(opname='COMPARE_OP', opcode=107, arg=0, argval='<', argrepr='<', offset=90, starts_line=None, is_jump_target=False, positions=None),
1566-
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=2, argval=104, argrepr='to 104', offset=98, starts_line=None, is_jump_target=False, positions=None),
1567-
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=34, argval=36, argrepr='to 36', offset=102, starts_line=6, is_jump_target=False, positions=None),
1566+
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=2, argval=106, argrepr='to 106', offset=98, starts_line=None, is_jump_target=False, positions=None),
1567+
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=34, argval=38, argrepr='to 38', offset=102, starts_line=6, is_jump_target=False, positions=None),
15681568
Instruction(opname='LOAD_FAST', opcode=124, arg=0, argval='i', argrepr='i', offset=106, starts_line=7, is_jump_target=True, positions=None),
15691569
Instruction(opname='LOAD_CONST', opcode=100, arg=3, argval=6, argrepr='6', offset=110, starts_line=None, is_jump_target=False, positions=None),
15701570
Instruction(opname='COMPARE_OP', opcode=107, arg=4, argval='>', argrepr='>', offset=114, starts_line=None, is_jump_target=False, positions=None),
1571-
Instruction(opname='POP_JUMP_IF_TRUE', opcode=115, arg=2, argval=128, argrepr='to 128', offset=122, starts_line=None, is_jump_target=False, positions=None),
1572-
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=46, argval=36, argrepr='to 36', offset=126, starts_line=None, is_jump_target=False, positions=None),
1571+
Instruction(opname='POP_JUMP_IF_TRUE', opcode=115, arg=2, argval=130, argrepr='to 130', offset=122, starts_line=None, is_jump_target=False, positions=None),
1572+
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=46, argval=38, argrepr='to 38', offset=126, starts_line=None, is_jump_target=False, positions=None),
15731573
Instruction(opname='POP_TOP', opcode=1, arg=None, argval=None, argrepr='', offset=130, starts_line=8, is_jump_target=True, positions=None),
1574-
Instruction(opname='JUMP_FORWARD', opcode=110, arg=19, argval=174, argrepr='to 174', offset=134, starts_line=None, is_jump_target=False, positions=None),
1574+
Instruction(opname='JUMP_FORWARD', opcode=110, arg=19, argval=176, argrepr='to 176', offset=134, starts_line=None, is_jump_target=False, positions=None),
15751575
Instruction(opname='END_FOR', opcode=4, arg=None, argval=None, argrepr='', offset=138, starts_line=3, is_jump_target=True, positions=None),
15761576
Instruction(opname='LOAD_GLOBAL', opcode=116, arg=3, argval='print', argrepr='NULL + print', offset=142, starts_line=10, is_jump_target=False, positions=None),
15771577
Instruction(opname='LOAD_CONST', opcode=100, arg=4, argval='I can haz else clause?', argrepr="'I can haz else clause?'", offset=156, starts_line=None, is_jump_target=False, positions=None),
15781578
Instruction(opname='CALL', opcode=171, arg=1, argval=1, argrepr='', offset=160, starts_line=None, is_jump_target=False, positions=None),
15791579
Instruction(opname='POP_TOP', opcode=1, arg=None, argval=None, argrepr='', offset=172, starts_line=None, is_jump_target=False, positions=None),
15801580
Instruction(opname='LOAD_FAST_CHECK', opcode=127, arg=0, argval='i', argrepr='i', offset=176, starts_line=11, is_jump_target=True, positions=None),
1581-
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=56, argval=294, argrepr='to 294', offset=180, starts_line=None, is_jump_target=False, positions=None),
1581+
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=56, argval=296, argrepr='to 296', offset=180, starts_line=None, is_jump_target=False, positions=None),
15821582
Instruction(opname='LOAD_GLOBAL', opcode=116, arg=3, argval='print', argrepr='NULL + print', offset=184, starts_line=12, is_jump_target=True, positions=None),
15831583
Instruction(opname='LOAD_FAST', opcode=124, arg=0, argval='i', argrepr='i', offset=198, starts_line=None, is_jump_target=False, positions=None),
15841584
Instruction(opname='CALL', opcode=171, arg=1, argval=1, argrepr='', offset=202, starts_line=None, is_jump_target=False, positions=None),
@@ -1590,16 +1590,16 @@ def _prepare_test_cases():
15901590
Instruction(opname='LOAD_FAST', opcode=124, arg=0, argval='i', argrepr='i', offset=236, starts_line=14, is_jump_target=False, positions=None),
15911591
Instruction(opname='LOAD_CONST', opcode=100, arg=3, argval=6, argrepr='6', offset=240, starts_line=None, is_jump_target=False, positions=None),
15921592
Instruction(opname='COMPARE_OP', opcode=107, arg=4, argval='>', argrepr='>', offset=244, starts_line=None, is_jump_target=False, positions=None),
1593-
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=2, argval=258, argrepr='to 258', offset=252, starts_line=None, is_jump_target=False, positions=None),
1594-
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=42, argval=174, argrepr='to 174', offset=256, starts_line=15, is_jump_target=False, positions=None),
1593+
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=2, argval=260, argrepr='to 260', offset=252, starts_line=None, is_jump_target=False, positions=None),
1594+
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=42, argval=176, argrepr='to 176', offset=256, starts_line=15, is_jump_target=False, positions=None),
15951595
Instruction(opname='LOAD_FAST', opcode=124, arg=0, argval='i', argrepr='i', offset=260, starts_line=16, is_jump_target=True, positions=None),
15961596
Instruction(opname='LOAD_CONST', opcode=100, arg=2, argval=4, argrepr='4', offset=264, starts_line=None, is_jump_target=False, positions=None),
15971597
Instruction(opname='COMPARE_OP', opcode=107, arg=0, argval='<', argrepr='<', offset=268, starts_line=None, is_jump_target=False, positions=None),
1598-
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=2, argval=282, argrepr='to 282', offset=276, starts_line=None, is_jump_target=False, positions=None),
1599-
Instruction(opname='JUMP_FORWARD', opcode=110, arg=23, argval=328, argrepr='to 328', offset=280, starts_line=17, is_jump_target=False, positions=None),
1598+
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=2, argval=284, argrepr='to 284', offset=276, starts_line=None, is_jump_target=False, positions=None),
1599+
Instruction(opname='JUMP_FORWARD', opcode=110, arg=23, argval=330, argrepr='to 330', offset=280, starts_line=17, is_jump_target=False, positions=None),
16001600
Instruction(opname='LOAD_FAST', opcode=124, arg=0, argval='i', argrepr='i', offset=284, starts_line=11, is_jump_target=True, positions=None),
1601-
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=2, argval=294, argrepr='to 294', offset=288, starts_line=None, is_jump_target=False, positions=None),
1602-
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=56, argval=182, argrepr='to 182', offset=292, starts_line=None, is_jump_target=False, positions=None),
1601+
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=2, argval=296, argrepr='to 296', offset=288, starts_line=None, is_jump_target=False, positions=None),
1602+
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=56, argval=184, argrepr='to 184', offset=292, starts_line=None, is_jump_target=False, positions=None),
16031603
Instruction(opname='LOAD_GLOBAL', opcode=116, arg=3, argval='print', argrepr='NULL + print', offset=296, starts_line=19, is_jump_target=True, positions=None),
16041604
Instruction(opname='LOAD_CONST', opcode=100, arg=6, argval='Who let lolcatz into this test suite?', argrepr="'Who let lolcatz into this test suite?'", offset=310, starts_line=None, is_jump_target=False, positions=None),
16051605
Instruction(opname='CALL', opcode=171, arg=1, argval=1, argrepr='', offset=314, starts_line=None, is_jump_target=False, positions=None),
@@ -1629,27 +1629,27 @@ def _prepare_test_cases():
16291629
Instruction(opname='RETURN_VALUE', opcode=83, arg=None, argval=None, argrepr='', offset=464, starts_line=None, is_jump_target=False, positions=None),
16301630
Instruction(opname='PUSH_EXC_INFO', opcode=35, arg=None, argval=None, argrepr='', offset=468, starts_line=25, is_jump_target=False, positions=None),
16311631
Instruction(opname='WITH_EXCEPT_START', opcode=49, arg=None, argval=None, argrepr='', offset=472, starts_line=None, is_jump_target=False, positions=None),
1632-
Instruction(opname='POP_JUMP_IF_TRUE', opcode=115, arg=2, argval=482, argrepr='to 482', offset=476, starts_line=None, is_jump_target=False, positions=None),
1632+
Instruction(opname='POP_JUMP_IF_TRUE', opcode=115, arg=2, argval=484, argrepr='to 484', offset=476, starts_line=None, is_jump_target=False, positions=None),
16331633
Instruction(opname='RERAISE', opcode=119, arg=2, argval=2, argrepr='', offset=480, starts_line=None, is_jump_target=False, positions=None),
16341634
Instruction(opname='POP_TOP', opcode=1, arg=None, argval=None, argrepr='', offset=484, starts_line=None, is_jump_target=True, positions=None),
16351635
Instruction(opname='POP_EXCEPT', opcode=89, arg=None, argval=None, argrepr='', offset=488, starts_line=None, is_jump_target=False, positions=None),
16361636
Instruction(opname='POP_TOP', opcode=1, arg=None, argval=None, argrepr='', offset=492, starts_line=None, is_jump_target=False, positions=None),
16371637
Instruction(opname='POP_TOP', opcode=1, arg=None, argval=None, argrepr='', offset=496, starts_line=None, is_jump_target=False, positions=None),
1638-
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=39, argval=424, argrepr='to 424', offset=500, starts_line=None, is_jump_target=False, positions=None),
1638+
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=39, argval=426, argrepr='to 426', offset=500, starts_line=None, is_jump_target=False, positions=None),
16391639
Instruction(opname='COPY', opcode=120, arg=3, argval=3, argrepr='', offset=504, starts_line=None, is_jump_target=False, positions=None),
16401640
Instruction(opname='POP_EXCEPT', opcode=89, arg=None, argval=None, argrepr='', offset=508, starts_line=None, is_jump_target=False, positions=None),
16411641
Instruction(opname='RERAISE', opcode=119, arg=1, argval=1, argrepr='', offset=512, starts_line=None, is_jump_target=False, positions=None),
16421642
Instruction(opname='PUSH_EXC_INFO', opcode=35, arg=None, argval=None, argrepr='', offset=516, starts_line=None, is_jump_target=False, positions=None),
16431643
Instruction(opname='LOAD_GLOBAL', opcode=116, arg=4, argval='ZeroDivisionError', argrepr='ZeroDivisionError', offset=520, starts_line=22, is_jump_target=False, positions=None),
16441644
Instruction(opname='CHECK_EXC_MATCH', opcode=36, arg=None, argval=None, argrepr='', offset=534, starts_line=None, is_jump_target=False, positions=None),
1645-
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=23, argval=586, argrepr='to 586', offset=538, starts_line=None, is_jump_target=False, positions=None),
1645+
Instruction(opname='POP_JUMP_IF_FALSE', opcode=114, arg=23, argval=588, argrepr='to 588', offset=538, starts_line=None, is_jump_target=False, positions=None),
16461646
Instruction(opname='POP_TOP', opcode=1, arg=None, argval=None, argrepr='', offset=542, starts_line=None, is_jump_target=False, positions=None),
16471647
Instruction(opname='LOAD_GLOBAL', opcode=116, arg=3, argval='print', argrepr='NULL + print', offset=546, starts_line=23, is_jump_target=False, positions=None),
16481648
Instruction(opname='LOAD_CONST', opcode=100, arg=9, argval='Here we go, here we go, here we go...', argrepr="'Here we go, here we go, here we go...'", offset=560, starts_line=None, is_jump_target=False, positions=None),
16491649
Instruction(opname='CALL', opcode=171, arg=1, argval=1, argrepr='', offset=564, starts_line=None, is_jump_target=False, positions=None),
16501650
Instruction(opname='POP_TOP', opcode=1, arg=None, argval=None, argrepr='', offset=576, starts_line=None, is_jump_target=False, positions=None),
16511651
Instruction(opname='POP_EXCEPT', opcode=89, arg=None, argval=None, argrepr='', offset=580, starts_line=None, is_jump_target=False, positions=None),
1652-
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=81, argval=424, argrepr='to 424', offset=584, starts_line=None, is_jump_target=False, positions=None),
1652+
Instruction(opname='JUMP_BACKWARD', opcode=140, arg=81, argval=426, argrepr='to 426', offset=584, starts_line=None, is_jump_target=False, positions=None),
16531653
Instruction(opname='RERAISE', opcode=119, arg=0, argval=0, argrepr='', offset=588, starts_line=22, is_jump_target=True, positions=None),
16541654
Instruction(opname='COPY', opcode=120, arg=3, argval=3, argrepr='', offset=592, starts_line=None, is_jump_target=False, positions=None),
16551655
Instruction(opname='POP_EXCEPT', opcode=89, arg=None, argval=None, argrepr='', offset=596, starts_line=None, is_jump_target=False, positions=None),

0 commit comments

Comments
 (0)