From: Raymond Hettinger Date: Fri, 12 Mar 2004 09:12:22 +0000 (+0000) Subject: Move the code for BREAK and CONTINUE_LOOP to be near FOR_ITER. X-Git-Tag: v2.4a1~714 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2d783e9b16e5500d4ef6a2783b92051fe9fed154;p=thirdparty%2FPython%2Fcpython.git Move the code for BREAK and CONTINUE_LOOP to be near FOR_ITER. Makes it more likely that all loop operations are in the cache at the same time. --- diff --git a/Python/ceval.c b/Python/ceval.c index 3c9076c6194f..71fd5471a972 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -1583,15 +1583,6 @@ eval_frame(PyFrameObject *f) #ifdef CASE_TOO_BIG default: switch (opcode) { #endif - case BREAK_LOOP: - why = WHY_BREAK; - goto fast_block_end; - - case CONTINUE_LOOP: - retval = PyInt_FromLong(oparg); - why = WHY_CONTINUE; - goto fast_block_end; - case RAISE_VARARGS: u = v = w = NULL; switch (oparg) { @@ -2109,6 +2100,15 @@ eval_frame(PyFrameObject *f) JUMPBY(oparg); continue; + case BREAK_LOOP: + why = WHY_BREAK; + goto fast_block_end; + + case CONTINUE_LOOP: + retval = PyInt_FromLong(oparg); + why = WHY_CONTINUE; + goto fast_block_end; + case SETUP_LOOP: case SETUP_EXCEPT: case SETUP_FINALLY: