Index: Corso/Python/ceval.c =================================================================== --- Corso.orig/Python/ceval.c +++ Corso/Python/ceval.c @@ -780,15 +780,23 @@ PyEval_EvalFrameEx(PyFrameObject *f, int */ -#if defined(DYNAMIC_EXECUTION_PROFILE) || defined(USE_COMPUTED_GOTOS) +#if defined(DYNAMIC_EXECUTION_PROFILE) #define PREDICT(op) if (0) goto PRED_##op #define PREDICTED(op) PRED_##op: #define PREDICTED_WITH_ARG(op) PRED_##op: #else #define PREDICT(op) if (*next_instr == op) goto PRED_##op #define PREDICTED(op) PRED_##op: next_instr++ +#if defined(USE_COMPUTED_GOTOS) + //In this case, the subsequent TARGET or TARGET_WITH_IMPL contains the + //code to fetch oparg. +//Does not work. +//#define PREDICTED_WITH_ARG(op) PREDICTED(op) +#define PREDICTED_WITH_ARG(op) PRED_##op: next_instr++ +#else #define PREDICTED_WITH_ARG(op) PRED_##op: oparg = PEEKARG(); next_instr += 3 #endif +#endif /* Stack manipulation macros */