https://github.com/python/cpython/commit/1b27f36eb0ef146aa60b261a1cffcc6fd55c0e88
commit: 1b27f36eb0ef146aa60b261a1cffcc6fd55c0e88
branch: main
author: Ken Jin <[email protected]>
committer: Fidget-Spinner <[email protected]>
date: 2025-02-13T02:18:36+08:00
summary:
gh-129819: Allow tier2/JIT and tailcall (GH-129820)
files:
A Misc/NEWS.d/next/Build/2025-02-11-08-06-44.gh-issue-129819.7rn4dY.rst
M Python/ceval_macros.h
M configure
M configure.ac
M pyconfig.h.in
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 */
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]