From: Inada Naoki Date: Thu, 22 Oct 2020 02:06:07 +0000 (+0900) Subject: bpo-42057: Fix peephole optimizer (GH-22802) X-Git-Tag: v3.9.1rc1~118 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=07a44d9572c7746568a7fe2fbcd42127fd6d4019;p=thirdparty%2FPython%2Fcpython.git bpo-42057: Fix peephole optimizer (GH-22802) --- diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-10-20-11-36-14.bpo-42057.BI-OoV.rst b/Misc/NEWS.d/next/Core and Builtins/2020-10-20-11-36-14.bpo-42057.BI-OoV.rst new file mode 100644 index 000000000000..95c3a248f9a1 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2020-10-20-11-36-14.bpo-42057.BI-OoV.rst @@ -0,0 +1,2 @@ +Fix peephole optimizer misoptimize conditional jump + JUMP_IF_NOT_EXC_MATCH +pair. diff --git a/Python/peephole.c b/Python/peephole.c index 84de1abc1754..6954c87b13bf 100644 --- a/Python/peephole.c +++ b/Python/peephole.c @@ -12,7 +12,7 @@ #define UNCONDITIONAL_JUMP(op) (op==JUMP_ABSOLUTE || op==JUMP_FORWARD) #define CONDITIONAL_JUMP(op) (op==POP_JUMP_IF_FALSE || op==POP_JUMP_IF_TRUE \ - || op==JUMP_IF_FALSE_OR_POP || op==JUMP_IF_TRUE_OR_POP || op==JUMP_IF_NOT_EXC_MATCH) + || op==JUMP_IF_FALSE_OR_POP || op==JUMP_IF_TRUE_OR_POP) #define ABSOLUTE_JUMP(op) (op==JUMP_ABSOLUTE \ || op==POP_JUMP_IF_FALSE || op==POP_JUMP_IF_TRUE \ || op==JUMP_IF_FALSE_OR_POP || op==JUMP_IF_TRUE_OR_POP || op==JUMP_IF_NOT_EXC_MATCH)