https://github.com/python/cpython/commit/ac5e53e15057bc0326a03f56e400ce345d1cebeb
commit: ac5e53e15057bc0326a03f56e400ce345d1cebeb
branch: main
author: Irit Katriel <[email protected]>
committer: iritkatriel <[email protected]>
date: 2024-01-25T20:06:48Z
summary:
gh-107901: compiler replaces POP_BLOCK instruction by NOPs before optimisations
(#114530)
files:
M Python/flowgraph.c
diff --git a/Python/flowgraph.c b/Python/flowgraph.c
index de831358eb9ac8..96610b3cb11a43 100644
--- a/Python/flowgraph.c
+++ b/Python/flowgraph.c
@@ -903,6 +903,7 @@ label_exception_targets(basicblock *entryblock) {
}
else if (instr->i_opcode == POP_BLOCK) {
handler = pop_except_block(except_stack);
+ INSTR_SET_OP0(instr, NOP);
}
else if (is_jump(instr)) {
instr->i_except = handler;
@@ -2313,7 +2314,7 @@ convert_pseudo_ops(cfg_builder *g)
for (basicblock *b = entryblock; b != NULL; b = b->b_next) {
for (int i = 0; i < b->b_iused; i++) {
cfg_instr *instr = &b->b_instr[i];
- if (is_block_push(instr) || instr->i_opcode == POP_BLOCK) {
+ if (is_block_push(instr)) {
INSTR_SET_OP0(instr, NOP);
}
else if (instr->i_opcode == LOAD_CLOSURE) {
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]