@@ -2897,7 +2897,7 @@ compiler_jump_if(struct compiler *c, location loc,
2897
2897
compiler_jump_if (c , loc , e -> v .IfExp .test , next2 , 0 ));
2898
2898
RETURN_IF_ERROR (
2899
2899
compiler_jump_if (c , loc , e -> v .IfExp .body , next , cond ));
2900
- ADDOP_JUMP (c , NO_LOCATION , JUMP , end );
2900
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , end );
2901
2901
2902
2902
USE_LABEL (c , next2 );
2903
2903
RETURN_IF_ERROR (
@@ -2926,12 +2926,12 @@ compiler_jump_if(struct compiler *c, location loc,
2926
2926
ADDOP (c , LOC (e ), TO_BOOL );
2927
2927
ADDOP_JUMP (c , LOC (e ), cond ? POP_JUMP_IF_TRUE : POP_JUMP_IF_FALSE , next );
2928
2928
NEW_JUMP_TARGET_LABEL (c , end );
2929
- ADDOP_JUMP (c , NO_LOCATION , JUMP , end );
2929
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , end );
2930
2930
2931
2931
USE_LABEL (c , cleanup );
2932
2932
ADDOP (c , LOC (e ), POP_TOP );
2933
2933
if (!cond ) {
2934
- ADDOP_JUMP (c , NO_LOCATION , JUMP , next );
2934
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , next );
2935
2935
}
2936
2936
2937
2937
USE_LABEL (c , end );
@@ -2963,7 +2963,7 @@ compiler_ifexp(struct compiler *c, expr_ty e)
2963
2963
compiler_jump_if (c , LOC (e ), e -> v .IfExp .test , next , 0 ));
2964
2964
2965
2965
VISIT (c , expr , e -> v .IfExp .body );
2966
- ADDOP_JUMP (c , NO_LOCATION , JUMP , end );
2966
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , end );
2967
2967
2968
2968
USE_LABEL (c , next );
2969
2969
VISIT (c , expr , e -> v .IfExp .orelse );
@@ -3041,7 +3041,7 @@ compiler_if(struct compiler *c, stmt_ty s)
3041
3041
3042
3042
VISIT_SEQ (c , stmt , s -> v .If .body );
3043
3043
if (asdl_seq_LEN (s -> v .If .orelse )) {
3044
- ADDOP_JUMP (c , NO_LOCATION , JUMP , end );
3044
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , end );
3045
3045
3046
3046
USE_LABEL (c , next );
3047
3047
VISIT_SEQ (c , stmt , s -> v .If .orelse );
@@ -3294,7 +3294,7 @@ compiler_try_finally(struct compiler *c, stmt_ty s)
3294
3294
compiler_pop_fblock (c , FINALLY_TRY , body );
3295
3295
VISIT_SEQ (c , stmt , s -> v .Try .finalbody );
3296
3296
3297
- ADDOP_JUMP (c , NO_LOCATION , JUMP , exit );
3297
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , exit );
3298
3298
/* `finally` block */
3299
3299
3300
3300
USE_LABEL (c , end );
@@ -3344,7 +3344,7 @@ compiler_try_star_finally(struct compiler *c, stmt_ty s)
3344
3344
compiler_pop_fblock (c , FINALLY_TRY , body );
3345
3345
VISIT_SEQ (c , stmt , s -> v .TryStar .finalbody );
3346
3346
3347
- ADDOP_JUMP (c , NO_LOCATION , JUMP , exit );
3347
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , exit );
3348
3348
3349
3349
/* `finally` block */
3350
3350
USE_LABEL (c , end );
@@ -3419,7 +3419,7 @@ compiler_try_except(struct compiler *c, stmt_ty s)
3419
3419
if (s -> v .Try .orelse && asdl_seq_LEN (s -> v .Try .orelse )) {
3420
3420
VISIT_SEQ (c , stmt , s -> v .Try .orelse );
3421
3421
}
3422
- ADDOP_JUMP (c , NO_LOCATION , JUMP , end );
3422
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , end );
3423
3423
n = asdl_seq_LEN (s -> v .Try .handlers );
3424
3424
3425
3425
USE_LABEL (c , except );
@@ -3483,7 +3483,7 @@ compiler_try_except(struct compiler *c, stmt_ty s)
3483
3483
compiler_nameop (c , NO_LOCATION , handler -> v .ExceptHandler .name , Store ));
3484
3484
RETURN_IF_ERROR (
3485
3485
compiler_nameop (c , NO_LOCATION , handler -> v .ExceptHandler .name , Del ));
3486
- ADDOP_JUMP (c , NO_LOCATION , JUMP , end );
3486
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , end );
3487
3487
3488
3488
/* except: */
3489
3489
USE_LABEL (c , cleanup_end );
@@ -3511,7 +3511,7 @@ compiler_try_except(struct compiler *c, stmt_ty s)
3511
3511
compiler_pop_fblock (c , HANDLER_CLEANUP , cleanup_body );
3512
3512
ADDOP (c , NO_LOCATION , POP_BLOCK );
3513
3513
ADDOP (c , NO_LOCATION , POP_EXCEPT );
3514
- ADDOP_JUMP (c , NO_LOCATION , JUMP , end );
3514
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , end );
3515
3515
}
3516
3516
3517
3517
USE_LABEL (c , except );
@@ -3599,7 +3599,7 @@ compiler_try_star_except(struct compiler *c, stmt_ty s)
3599
3599
VISIT_SEQ (c , stmt , s -> v .TryStar .body );
3600
3600
compiler_pop_fblock (c , TRY_EXCEPT , body );
3601
3601
ADDOP (c , NO_LOCATION , POP_BLOCK );
3602
- ADDOP_JUMP (c , NO_LOCATION , JUMP , orelse );
3602
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , orelse );
3603
3603
Py_ssize_t n = asdl_seq_LEN (s -> v .TryStar .handlers );
3604
3604
3605
3605
USE_LABEL (c , except );
@@ -3681,7 +3681,7 @@ compiler_try_star_except(struct compiler *c, stmt_ty s)
3681
3681
RETURN_IF_ERROR (
3682
3682
compiler_nameop (c , NO_LOCATION , handler -> v .ExceptHandler .name , Del ));
3683
3683
}
3684
- ADDOP_JUMP (c , NO_LOCATION , JUMP , except );
3684
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , except );
3685
3685
3686
3686
/* except: */
3687
3687
USE_LABEL (c , cleanup_end );
@@ -3698,11 +3698,11 @@ compiler_try_star_except(struct compiler *c, stmt_ty s)
3698
3698
/* add exception raised to the res list */
3699
3699
ADDOP_I (c , NO_LOCATION , LIST_APPEND , 3 ); // exc
3700
3700
ADDOP (c , NO_LOCATION , POP_TOP ); // lasti
3701
- ADDOP_JUMP (c , NO_LOCATION , JUMP , except_with_error );
3701
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , except_with_error );
3702
3702
3703
3703
USE_LABEL (c , except );
3704
3704
ADDOP (c , NO_LOCATION , NOP ); // to hold a propagated location info
3705
- ADDOP_JUMP (c , NO_LOCATION , JUMP , except_with_error );
3705
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , except_with_error );
3706
3706
3707
3707
USE_LABEL (c , no_match );
3708
3708
ADDOP (c , loc , POP_TOP ); // match (None)
@@ -3712,7 +3712,7 @@ compiler_try_star_except(struct compiler *c, stmt_ty s)
3712
3712
if (i == n - 1 ) {
3713
3713
/* Add exc to the list (if not None it's the unhandled part of the EG) */
3714
3714
ADDOP_I (c , NO_LOCATION , LIST_APPEND , 1 );
3715
- ADDOP_JUMP (c , NO_LOCATION , JUMP , reraise_star );
3715
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , reraise_star );
3716
3716
}
3717
3717
}
3718
3718
/* artificial */
@@ -3728,7 +3728,7 @@ compiler_try_star_except(struct compiler *c, stmt_ty s)
3728
3728
ADDOP (c , NO_LOCATION , POP_TOP );
3729
3729
ADDOP (c , NO_LOCATION , POP_BLOCK );
3730
3730
ADDOP (c , NO_LOCATION , POP_EXCEPT );
3731
- ADDOP_JUMP (c , NO_LOCATION , JUMP , end );
3731
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , end );
3732
3732
3733
3733
USE_LABEL (c , reraise );
3734
3734
ADDOP (c , NO_LOCATION , POP_BLOCK );
@@ -4626,7 +4626,7 @@ compiler_compare(struct compiler *c, expr_ty e)
4626
4626
VISIT (c , expr , (expr_ty )asdl_seq_GET (e -> v .Compare .comparators , n ));
4627
4627
ADDOP_COMPARE (c , loc , asdl_seq_GET (e -> v .Compare .ops , n ));
4628
4628
NEW_JUMP_TARGET_LABEL (c , end );
4629
- ADDOP_JUMP (c , NO_LOCATION , JUMP , end );
4629
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , end );
4630
4630
4631
4631
USE_LABEL (c , cleanup );
4632
4632
ADDOP_I (c , loc , SWAP , 2 );
@@ -5668,7 +5668,7 @@ pop_inlined_comprehension_state(struct compiler *c, location loc,
5668
5668
}
5669
5669
if (state .pushed_locals ) {
5670
5670
ADDOP (c , NO_LOCATION , POP_BLOCK );
5671
- ADDOP_JUMP (c , NO_LOCATION , JUMP , state .end );
5671
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , state .end );
5672
5672
5673
5673
// cleanup from an exception inside the comprehension
5674
5674
USE_LABEL (c , state .cleanup );
@@ -5916,7 +5916,7 @@ compiler_with_except_finish(struct compiler *c, jump_target_label cleanup) {
5916
5916
ADDOP (c , NO_LOCATION , POP_TOP );
5917
5917
ADDOP (c , NO_LOCATION , POP_TOP );
5918
5918
NEW_JUMP_TARGET_LABEL (c , exit );
5919
- ADDOP_JUMP (c , NO_LOCATION , JUMP , exit );
5919
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , exit );
5920
5920
5921
5921
USE_LABEL (c , cleanup );
5922
5922
POP_EXCEPT_AND_RERAISE (c , NO_LOCATION );
@@ -7410,7 +7410,7 @@ compiler_match_inner(struct compiler *c, stmt_ty s, pattern_context *pc)
7410
7410
ADDOP (c , LOC (m -> pattern ), POP_TOP );
7411
7411
}
7412
7412
VISIT_SEQ (c , stmt , m -> body );
7413
- ADDOP_JUMP (c , NO_LOCATION , JUMP , end );
7413
+ ADDOP_JUMP (c , NO_LOCATION , JUMP_NO_INTERRUPT , end );
7414
7414
// If the pattern fails to match, we want the line number of the
7415
7415
// cleanup to be associated with the failed pattern, not the last line
7416
7416
// of the body
0 commit comments