From af7adad51d149e66ee3eb66c1765914f0fd7f905 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Thu, 22 Oct 2009 11:22:50 +0000 Subject: Peephole constant folding had missed UNARY_POSITIVE. --- Python/peephole.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Python') diff --git a/Python/peephole.c b/Python/peephole.c index 9163091272..104db8cb97 100644 --- a/Python/peephole.c +++ b/Python/peephole.c @@ -197,6 +197,9 @@ fold_unaryops_on_constants(unsigned char *codestr, PyObject *consts) case UNARY_INVERT: newconst = PyNumber_Invert(v); break; + case UNARY_POSITIVE: + newconst = PyNumber_Positive(v); + break; default: /* Called with an unknown opcode */ PyErr_Format(PyExc_SystemError, @@ -500,6 +503,7 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, LOAD_CONST c1 UNARY_OP --> LOAD_CONST unary_op(c) */ case UNARY_NEGATIVE: case UNARY_INVERT: + case UNARY_POSITIVE: if (lastlc >= 1 && ISBASICBLOCK(blocks, i-3, 4) && fold_unaryops_on_constants(&codestr[i-3], consts)) { -- cgit v1.2.1