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 3c9076c..71fd547 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1583,15 +1583,6 @@
#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 @@
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: