@@ -478,30 +478,31 @@ def update_sets(loc, is_pypy: bool, is_rust=False) -> None:
478478 loc ["JABS_OPS" ] = frozenset (loc ["hasjabs" ])
479479
480480 python_version = loc .get ("python_version" )
481- if python_version and python_version < ( 3 , 11 ) or ( is_pypy and python_version == ( 3 , 11 )) :
481+ if python_version :
482482 loc ["JUMP_UNCONDITIONAL" ] = frozenset (
483- [loc ["opmap" ]["JUMP_ABSOLUTE" ], loc ["opmap" ]["JUMP_FORWARD" ]]
483+ [
484+ loc ["opmap" ][op ]
485+ for op in {
486+ "JUMP_ABSOLUTE" ,
487+ "JUMP_FORWARD" ,
488+ "JUMP_BACKWARD" ,
489+ "JUMP_BACKWARD_NO_INTERRUPT" ,
490+ }
491+ if op in loc ["opmap" ]
492+ ]
484493 )
485- elif python_version :
486- if not is_pypy and not is_rust :
487- loc ["JUMP_UNCONDITIONAL" ] = frozenset (
488- [
489- loc ["opmap" ]["JUMP_FORWARD" ],
490- loc ["opmap" ]["JUMP_BACKWARD" ],
491- loc ["opmap" ]["JUMP_BACKWARD_NO_INTERRUPT" ],
492- ]
493- )
494- else :
495- loc ["JUMP_UNCONDITIONAL" ] = frozenset ([loc ["opmap" ]["JUMP_FORWARD" ]])
496494 if PYTHON_VERSION_TRIPLE < (3 , 8 , 0 ) and python_version and python_version < (3 , 8 ):
497495 loc ["LOOP_OPS" ] = frozenset ([loc ["opmap" ]["SETUP_LOOP" ]])
498496 else :
499497 loc ["LOOP_OPS" ] = frozenset ()
500498
501499 loc ["LOCAL_OPS" ] = frozenset (loc ["haslocal" ])
502- if not is_rust :
500+ if not is_rust and python_version :
503501 loc ["JUMP_OPS" ] = (
504- loc ["JABS_OPS" ] | loc ["JREL_OPS" ] | loc ["LOOP_OPS" ] | loc ["JUMP_UNCONDITIONAL" ]
502+ loc ["JABS_OPS" ]
503+ | loc ["JREL_OPS" ]
504+ | loc ["LOOP_OPS" ]
505+ | loc ["JUMP_UNCONDITIONAL" ]
505506 )
506507 loc ["NAME_OPS" ] = frozenset (loc ["hasname" ])
507508 loc ["NARGS_OPS" ] = frozenset (loc ["hasnargs" ])
0 commit comments