From: Benjamin Peterson Date: Tue, 26 May 2009 12:49:59 +0000 (+0000) Subject: teach the peepholer about SETUP_WITH X-Git-Tag: v2.7a1~1095 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aafa18aa057cff3e47914c962437c922ece87beb;p=thirdparty%2FPython%2Fcpython.git teach the peepholer about SETUP_WITH --- diff --git a/Python/peephole.c b/Python/peephole.c index a3dda9c8aaf4..13fc09103259 100644 --- a/Python/peephole.c +++ b/Python/peephole.c @@ -259,6 +259,7 @@ markblocks(unsigned char *code, Py_ssize_t len) case SETUP_LOOP: case SETUP_EXCEPT: case SETUP_FINALLY: + case SETUP_WITH: j = GETJUMPTGT(code, i); blocks[j] = 1; break; @@ -550,6 +551,7 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, case SETUP_LOOP: case SETUP_EXCEPT: case SETUP_FINALLY: + case SETUP_WITH: tgt = GETJUMPTGT(codestr, i); /* Replace JUMP_* to a RETURN into just a RETURN */ if (UNCONDITIONAL_JUMP(opcode) && @@ -628,6 +630,7 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, case SETUP_LOOP: case SETUP_EXCEPT: case SETUP_FINALLY: + case SETUP_WITH: j = addrmap[GETARG(codestr, i) + i + 3] - addrmap[i] - 3; SETARG(codestr, i, j); break;