diff --git a/Misc/NEWS.d/next/Build/2025-02-11-08-06-44.gh-issue-129819.7rn4dY.rst b/Misc/NEWS.d/next/Build/2025-02-11-08-06-44.gh-issue-129819.7rn4dY.rst new file mode 100644 index 00000000000000..2463e4dba24ae9 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2025-02-11-08-06-44.gh-issue-129819.7rn4dY.rst @@ -0,0 +1 @@ +Allow building the JIT with the tailcall interpreter. diff --git a/Python/ceval_macros.h b/Python/ceval_macros.h index 50e940c19732ad..2cb78fa80b4658 100644 --- a/Python/ceval_macros.h +++ b/Python/ceval_macros.h @@ -397,7 +397,7 @@ do { \ stack_pointer = _PyFrame_GetStackPointer(frame); \ if (next_instr == NULL) { \ next_instr = frame->instr_ptr; \ - goto error; \ + JUMP_TO_LABEL(error); \ } \ DISPATCH(); \ } while (0) diff --git a/configure b/configure index d46bc563a67245..453b0123ded0a4 100755 --- a/configure +++ b/configure @@ -29284,18 +29284,6 @@ esac fi -# Do not enable tail-calling interpreter if tier 2 is enabled. -if ${tier2_flags:+false} : -then : - - case "$ac_cv_tail_call" in yes*) - -printf "%s\n" "#define Py_TAIL_CALL_INTERP 1" >>confdefs.h - - esac - -fi - case $ac_sys_system in AIX*) diff --git a/configure.ac b/configure.ac index faa8909530389d..234ae90616af62 100644 --- a/configure.ac +++ b/configure.ac @@ -7033,19 +7033,6 @@ fi ], [AC_MSG_RESULT([no value specified])]) -# Do not enable tail-calling interpreter if tier 2 is enabled. -AS_VAR_IF( - [tier2_flags], - [], - [ - case "$ac_cv_tail_call" in yes*) - AC_DEFINE([Py_TAIL_CALL_INTERP], [1], - [Define if the C compiler supports efficient proper tail calls.]) - esac - ], - [] -) - case $ac_sys_system in AIX*) diff --git a/pyconfig.h.in b/pyconfig.h.in index 9ea01ad3fc0a31..4295b4f5ea5fbd 100644 --- a/pyconfig.h.in +++ b/pyconfig.h.in @@ -1718,7 +1718,7 @@ /* The version of SunOS/Solaris as reported by `uname -r' without the dot. */ #undef Py_SUNOS_VERSION -/* Define if the C compiler supports efficient proper tail calls. */ +/* Define if you want to use tail-calling interpreters in CPython. */ #undef Py_TAIL_CALL_INTERP /* Define if you want to enable tracing references for debugging purpose */