Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2da48e3

Browse filesBrowse files
authored
GH-133171: Prevent combinations of --disable-gil and --enable-experimental-jit... for now (GH-133179)
1 parent f425509 commit 2da48e3
Copy full SHA for 2da48e3

File tree

Expand file treeCollapse file tree

5 files changed

+48
-26
lines changed
Filter options
Expand file treeCollapse file tree

5 files changed

+48
-26
lines changed

‎.github/workflows/jit.yml

Copy file name to clipboardExpand all lines: .github/workflows/jit.yml
+27-26Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -126,29 +126,30 @@ jobs:
126126
make all --jobs 4
127127
./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
128128
129-
jit-with-disabled-gil:
130-
name: Free-Threaded (Debug)
131-
needs: interpreter
132-
runs-on: ubuntu-24.04
133-
timeout-minutes: 90
134-
strategy:
135-
fail-fast: false
136-
matrix:
137-
llvm:
138-
- 19
139-
steps:
140-
- uses: actions/checkout@v4
141-
with:
142-
persist-credentials: false
143-
- uses: actions/setup-python@v5
144-
with:
145-
python-version: '3.11'
146-
- name: Build with JIT enabled and GIL disabled
147-
run: |
148-
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
149-
export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
150-
./configure --enable-experimental-jit --with-pydebug --disable-gil
151-
make all --jobs 4
152-
- name: Run tests
153-
run: |
154-
./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
129+
# XXX: GH-133171
130+
# jit-with-disabled-gil:
131+
# name: Free-Threaded (Debug)
132+
# needs: interpreter
133+
# runs-on: ubuntu-24.04
134+
# timeout-minutes: 90
135+
# strategy:
136+
# fail-fast: false
137+
# matrix:
138+
# llvm:
139+
# - 19
140+
# steps:
141+
# - uses: actions/checkout@v4
142+
# with:
143+
# persist-credentials: false
144+
# - uses: actions/setup-python@v5
145+
# with:
146+
# python-version: '3.11'
147+
# - name: Build with JIT enabled and GIL disabled
148+
# run: |
149+
# sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
150+
# export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
151+
# ./configure --enable-experimental-jit --with-pydebug --disable-gil
152+
# make all --jobs 4
153+
# - name: Run tests
154+
# run: |
155+
# ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Since free-threaded builds do not support the experimental JIT compiler,
2+
prevent these configurations from being combined.

‎PCbuild/build.bat

Copy file name to clipboardExpand all lines: PCbuild/build.bat
+7Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,13 @@ if "%do_pgo%" EQU "true" if "%platf%" EQU "x64" (
123123
)
124124
)
125125

126+
if "%UseDisableGil%" EQU "true" if "%UseTIER2%" NEQ "" (
127+
rem GH-133171: This configuration builds the JIT but never actually uses it,
128+
rem which is surprising (and strictly worse than not building it at all):
129+
echo.ERROR: --experimental-jit cannot be used with --disable-gil.
130+
exit /b 1
131+
)
132+
126133
if not exist "%GIT%" where git > "%TEMP%\git.loc" 2> nul && set /P GIT= < "%TEMP%\git.loc" & del "%TEMP%\git.loc"
127134
if exist "%GIT%" set GITProperty=/p:GIT="%GIT%"
128135
if not exist "%GIT%" echo Cannot find Git on PATH & set GITProperty=

‎configure

Copy file name to clipboardExpand all lines: configure
+6Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎configure.ac

Copy file name to clipboardExpand all lines: configure.ac
+6Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2786,6 +2786,12 @@ AC_SUBST([REGEN_JIT_COMMAND])
27862786
AC_SUBST([JIT_STENCILS_H])
27872787
AC_MSG_RESULT([$tier2_flags $jit_flags])
27882788

2789+
if test "$disable_gil" = "yes" -a "$enable_experimental_jit" != "no"; then
2790+
# GH-133171: This configuration builds the JIT but never actually uses it,
2791+
# which is surprising (and strictly worse than not building it at all):
2792+
AC_MSG_ERROR([--enable-experimental-jit cannot be used with --disable-gil.])
2793+
fi
2794+
27892795
case "$ac_cv_cc_name" in
27902796
mpicc)
27912797
CFLAGS_NODIST="$CFLAGS_NODIST"

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.