[Python-checkins] remove support for splitting the ceval switch into multiple switches (#4099)

Benjamin Peterson webhook-mailer at python.org
Wed Oct 25 01:35:18 EDT 2017


https://github.com/python/cpython/commit/95f1a7bb09db03ae239c8cbf43e8890ab12fd782
commit: 95f1a7bb09db03ae239c8cbf43e8890ab12fd782
branch: master
author: Benjamin Peterson <benjamin at python.org>
committer: GitHub <noreply at github.com>
date: 2017-10-24T22:35:15-07:00
summary:

remove support for splitting the ceval switch into multiple switches (#4099)

This kludge is from 1992. Any C99 compiler is going to be able to handle the
ceval dispatch switch.

Anyway, we have much bigger switches than the ceval dispatch one around. (See,
e.g., Objects/unicodetype_db.h.)

files:
M Python/ceval.c

diff --git a/Python/ceval.c b/Python/ceval.c
index f9a798c8565..58a2513b3ef 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -22,9 +22,6 @@
 
 #include <ctype.h>
 
-/* Turn this on if your compiler chokes on the big switch: */
-/* #define CASE_TOO_BIG 1 */
-
 #ifdef Py_DEBUG
 /* For debugging the interpreter: */
 #define LLTRACE  1      /* Low-level trace feature */
@@ -1662,9 +1659,6 @@ _PyEval_EvalFrameDefault(PyFrameObject *f, int throwflag)
             DISPATCH();
         }
 
-#ifdef CASE_TOO_BIG
-        default: switch (opcode) {
-#endif
         TARGET(RAISE_VARARGS) {
             PyObject *cause = NULL, *exc = NULL;
             switch (oparg) {
@@ -3373,10 +3367,6 @@ _PyEval_EvalFrameDefault(PyFrameObject *f, int throwflag)
             PyErr_SetString(PyExc_SystemError, "unknown opcode");
             goto error;
 
-#ifdef CASE_TOO_BIG
-        }
-#endif
-
         } /* switch */
 
         /* This should never be reached. Every opcode should end with DISPATCH()



More information about the Python-checkins mailing list