Kaydet (Commit) 7db3c488 authored tarafından Serhiy Storchaka's avatar Serhiy Storchaka

Issue #28517: Fixed of-by-one error in the peephole optimizer that caused

keeping unreachable code.
üst 802883a3
......@@ -10,6 +10,9 @@ What's New in Python 3.6.0 beta 3
Core and Builtins
-----------------
- Issue #28517: Fixed of-by-one error in the peephole optimizer that caused
keeping unreachable code.
- Issue #28214: Improved exception reporting for problematic __set_name__
attributes.
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -704,11 +704,11 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names,
/* Remove unreachable ops after RETURN */
case RETURN_VALUE:
h = i + 1;
while (h + 1 < codelen && ISBASICBLOCK(blocks, i, h + 1)) {
while (h < codelen && ISBASICBLOCK(blocks, i, h)) {
h++;
}
if (h > i + 1) {
fill_nops(codestr, i + 1, h + 1);
fill_nops(codestr, i + 1, h);
nexti = find_op(codestr, h);
}
break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment