mirror of
https://github.com/python/cpython.git
synced 2025-07-23 11:15:24 +00:00
gh-107901: jump leaving an exception handler doesn't need an eval break check (#113943)
This commit is contained in:
parent
7ed76fc368
commit
0d8fec79ca
3 changed files with 4 additions and 3 deletions
|
@ -578,11 +578,11 @@ dis_asyncwith = """\
|
|||
|
||||
%4d L12: CLEANUP_THROW
|
||||
|
||||
-- L13: JUMP_BACKWARD 26 (to L5)
|
||||
-- L13: JUMP_BACKWARD_NO_INTERRUPT 25 (to L5)
|
||||
|
||||
%4d L14: CLEANUP_THROW
|
||||
|
||||
-- L15: JUMP_BACKWARD 11 (to L11)
|
||||
-- L15: JUMP_BACKWARD_NO_INTERRUPT 9 (to L11)
|
||||
|
||||
%4d L16: PUSH_EXC_INFO
|
||||
WITH_EXCEPT_START
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
A jump leaving an exception handler back to normal code no longer checks the eval breaker.
|
|
@ -2164,7 +2164,7 @@ push_cold_blocks_to_end(cfg_builder *g) {
|
|||
if (!IS_LABEL(b->b_next->b_label)) {
|
||||
b->b_next->b_label.id = next_lbl++;
|
||||
}
|
||||
basicblock_addop(explicit_jump, JUMP, b->b_next->b_label.id, NO_LOCATION);
|
||||
basicblock_addop(explicit_jump, JUMP_NO_INTERRUPT, b->b_next->b_label.id, NO_LOCATION);
|
||||
explicit_jump->b_cold = 1;
|
||||
explicit_jump->b_next = b->b_next;
|
||||
b->b_next = explicit_jump;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue