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

Automerge-Triggered-By: GH:iritkatriel
This commit is contained in:
Irit Katriel 2022-01-06 19:43:16 +00:00 committed by GitHub
parent 9c5fa9c97c
commit 16dfabf75c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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 */