diff options
Diffstat (limited to 'Python/peephole.c')
-rw-r--r-- | Python/peephole.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/Python/peephole.c b/Python/peephole.c index 277a216ae0..95b3dbb6bf 100644 --- a/Python/peephole.c +++ b/Python/peephole.c @@ -304,18 +304,11 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, case LOAD_CONST: cumlc = lastlc + 1; if (nextop != POP_JUMP_IF_FALSE || - !ISBASICBLOCK(blocks, op_start, i + 1)) { + !ISBASICBLOCK(blocks, op_start, i + 1) || + !PyObject_IsTrue(PyList_GET_ITEM(consts, get_arg(codestr, i)))) break; - } - PyObject* cnt = PyList_GET_ITEM(consts, get_arg(codestr, i)); - int is_true = PyObject_IsTrue(cnt); - if (is_true == -1) { - goto exitError; - } - if (is_true == 1) { - fill_nops(codestr, op_start, nexti + 1); - cumlc = 0; - } + fill_nops(codestr, op_start, nexti + 1); + cumlc = 0; break; /* Try to fold tuples of constants. |