[Python-checkins] bpo-46286: use the new POP_JUMP_IF_NOT_NONE opcode to simplify except* (GH-30439)

miss-islington webhook-mailer at python.org
Thu Jan 6 14:43:26 EST 2022


https://github.com/python/cpython/commit/16dfabf75cd0786781bcd8ded6a12591fb893d68
commit: 16dfabf75cd0786781bcd8ded6a12591fb893d68
branch: main
author: Irit Katriel <1055913+iritkatriel at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2022-01-06T11:43:16-08:00
summary:

bpo-46286: use the new POP_JUMP_IF_NOT_NONE opcode to simplify except* (GH-30439)



Automerge-Triggered-By: GH:iritkatriel

files:
M Python/compile.c

diff --git a/Python/compile.c b/Python/compile.c
index 62f37ca452632..643a5e507712c 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -3515,9 +3515,7 @@ compiler_try_except(struct compiler *c, stmt_ty s)
 
    [orig, res]                                PREP_RERAISE_STAR
    [exc]                                      DUP_TOP
-   [exc, exc]                                 LOAD_CONST            None
-   [exc, exc, None]                           COMPARE_IS
-   [exc, is_none]                             POP_JUMP_IF_FALSE     RER
+   [exc, exc]                                 POP_JUMP_IF_NOT_NONE  RER
    [exc]                                      POP_TOP
    []                                         JUMP_FORWARD          L0
 
@@ -3687,9 +3685,7 @@ compiler_try_star_except(struct compiler *c, stmt_ty s)
     compiler_use_next_block(c, reraise_star);
     ADDOP(c, PREP_RERAISE_STAR);
     ADDOP(c, DUP_TOP);
-    ADDOP_LOAD_CONST(c, Py_None);
-    ADDOP_COMPARE(c, Is);
-    ADDOP_JUMP(c, POP_JUMP_IF_FALSE, reraise);
+    ADDOP_JUMP(c, POP_JUMP_IF_NOT_NONE, reraise);
     NEXT_BLOCK(c);
 
     /* Nothing to reraise */



More information about the Python-checkins mailing list