Commit affb06d2 authored by Raymond Hettinger's avatar Raymond Hettinger

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.
parent 8760e494
......@@ -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:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment