https://github.com/python/cpython/commit/a524152b8c56f82d807ecdd7ae9d39cfd643c469
commit: a524152b8c56f82d807ecdd7ae9d39cfd643c469
branch: main
author: Guido van Rossum <[email protected]>
committer: gvanrossum <[email protected]>
date: 2024-05-01T16:36:29-07:00
summary:

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).

files:
M Misc/NEWS.d/next/Core and 
Builtins/2024-04-26-14-06-18.gh-issue-118335.SRFsxO.rst
M configure
M configure.ac

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 e13edbbbe528eb..54295a75c02e85 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 24e7396e389fd1..cc85aed2aa51c2 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 0f1177872d9137..c55e33add20fde 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])

_______________________________________________
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]

Reply via email to