From aafa18aa057cff3e47914c962437c922ece87beb Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Tue, 26 May 2009 12:49:59 +0000 Subject: [PATCH] teach the peepholer about SETUP_WITH --- Python/peephole.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Python/peephole.c b/Python/peephole.c index a3dda9c8aaf..13fc0910325 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;