summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2024-05-01 23:36:29 (GMT)
committerGitHub <noreply@github.com>2024-05-01 23:36:29 (GMT)
commita524152b8c56f82d807ecdd7ae9d39cfd643c469 (patch)
tree4acd55efd6be7ffe19ee5077b94205c5f1e648ec
parent97feb4a78bf1ebdec26b685fd509cf57b3333e4a (diff)
downloadcpython-a524152b8c56f82d807ecdd7ae9d39cfd643c469.zip
cpython-a524152b8c56f82d807ecdd7ae9d39cfd643c469.tar.gz
cpython-a524152b8c56f82d807ecdd7ae9d39cfd643c469.tar.bz2
gh-118335: Make REGEN_JIT_COMMAND empty if tier2 interpreter enabled (#118493)
Also patch up news blurb for gh-118339 (add warning that PYTHON_UOPS is now PYTHON_JIT).
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2024-04-26-14-06-18.gh-issue-118335.SRFsxO.rst3
-rwxr-xr-xconfigure24
-rw-r--r--configure.ac22
3 files changed, 31 insertions, 18 deletions
diff --git a/Misc/NEWS.d/next/Core and Builtins/2024-04-26-14-06-18.gh-issue-118335.SRFsxO.rst b/Misc/NEWS.d/next/Core and Builtins/2024-04-26-14-06-18.gh-issue-118335.SRFsxO.rst
index e13edbb..54295a7 100644
--- a/Misc/NEWS.d/next/Core and Builtins/2024-04-26-14-06-18.gh-issue-118335.SRFsxO.rst
+++ b/Misc/NEWS.d/next/Core and Builtins/2024-04-26-14-06-18.gh-issue-118335.SRFsxO.rst
@@ -2,3 +2,6 @@ Change how to use the tier 2 interpreter. Instead of running Python with
``-X uops`` or setting the environment variable ``PYTHON_UOPS=1``, this
choice is now made at build time by configuring with
``--enable-experimental-jit=interpreter``.
+
+**Beware!** This changes the environment variable to enable or disable
+micro-ops to ``PYTHON_JIT``. The old ``PYTHON_UOPS`` is no longer used.
diff --git a/configure b/configure
index 24e7396..cc85aed 100755
--- a/configure
+++ b/configure
@@ -8235,18 +8235,24 @@ else $as_nop
fi
case $enable_experimental_jit in
- no) enable_experimental_jit=no ;;
- yes) enable_experimental_jit="-D_Py_JIT -D_Py_TIER2=1" ;;
- yes-off) enable_experimental_jit="-D_Py_JIT -D_Py_TIER2=3" ;;
- interpreter) enable_experimental_jit="-D_Py_TIER2=4" ;;
- interpreter-off) enable_experimental_jit="-D_Py_TIER2=6" ;; # Secret option
+ no) jit_flags=""; tier2_flags="" ;;
+ yes) jit_flags="-D_Py_JIT"; tier2_flags="-D_Py_TIER2=1" ;;
+ yes-off) jit_flags="-D_Py_JIT"; tier2_flags="-D_Py_TIER2=3" ;;
+ interpreter) jit_flags=""; tier2_flags="-D_Py_TIER2=4" ;;
+ interpreter-off) jit_flags=""; tier2_flags="-D_Py_TIER2=6" ;; # Secret option
*) as_fn_error $? "invalid argument: --enable-experimental-jit=$enable_experimental_jit; expected no|yes|yes-off|interpreter" "$LINENO" 5 ;;
esac
-if test "x$enable_experimental_jit" = xno
+if ${tier2_flags:+false} :
then :
else $as_nop
- as_fn_append CFLAGS_NODIST " $enable_experimental_jit"
+ as_fn_append CFLAGS_NODIST " $tier2_flags"
+fi
+if ${jit_flags:+false} :
+then :
+
+else $as_nop
+ as_fn_append CFLAGS_NODIST " $jit_flags"
REGEN_JIT_COMMAND="\$(PYTHON_FOR_REGEN) \$(srcdir)/Tools/jit/build.py $host"
JIT_STENCILS_H="jit_stencils.h"
if test "x$Py_DEBUG" = xtrue
@@ -8256,8 +8262,8 @@ fi
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_experimental_jit" >&5
-printf "%s\n" "$enable_experimental_jit" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tier2_flags $jit_flags" >&5
+printf "%s\n" "$tier2_flags $jit_flags" >&6; }
# Enable optimization flags
diff --git a/configure.ac b/configure.ac
index 0f11778..c55e33a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1776,18 +1776,22 @@ AC_ARG_ENABLE([experimental-jit],
[],
[enable_experimental_jit=no])
case $enable_experimental_jit in
- no) enable_experimental_jit=no ;;
- yes) enable_experimental_jit="-D_Py_JIT -D_Py_TIER2=1" ;;
- yes-off) enable_experimental_jit="-D_Py_JIT -D_Py_TIER2=3" ;;
- interpreter) enable_experimental_jit="-D_Py_TIER2=4" ;;
- interpreter-off) enable_experimental_jit="-D_Py_TIER2=6" ;; # Secret option
+ no) jit_flags=""; tier2_flags="" ;;
+ yes) jit_flags="-D_Py_JIT"; tier2_flags="-D_Py_TIER2=1" ;;
+ yes-off) jit_flags="-D_Py_JIT"; tier2_flags="-D_Py_TIER2=3" ;;
+ interpreter) jit_flags=""; tier2_flags="-D_Py_TIER2=4" ;;
+ interpreter-off) jit_flags=""; tier2_flags="-D_Py_TIER2=6" ;; # Secret option
*) AC_MSG_ERROR(
[invalid argument: --enable-experimental-jit=$enable_experimental_jit; expected no|yes|yes-off|interpreter]) ;;
esac
-AS_VAR_IF([enable_experimental_jit],
- [no],
+AS_VAR_IF([tier2_flags],
[],
- [AS_VAR_APPEND([CFLAGS_NODIST], [" $enable_experimental_jit"])
+ [],
+ [AS_VAR_APPEND([CFLAGS_NODIST], [" $tier2_flags"])])
+AS_VAR_IF([jit_flags],
+ [],
+ [],
+ [AS_VAR_APPEND([CFLAGS_NODIST], [" $jit_flags"])
AS_VAR_SET([REGEN_JIT_COMMAND],
["\$(PYTHON_FOR_REGEN) \$(srcdir)/Tools/jit/build.py $host"])
AS_VAR_SET([JIT_STENCILS_H], ["jit_stencils.h"])
@@ -1797,7 +1801,7 @@ AS_VAR_IF([enable_experimental_jit],
[])])
AC_SUBST([REGEN_JIT_COMMAND])
AC_SUBST([JIT_STENCILS_H])
-AC_MSG_RESULT([$enable_experimental_jit])
+AC_MSG_RESULT([$tier2_flags $jit_flags])
# Enable optimization flags
AC_SUBST([DEF_MAKE_ALL_RULE])