◐ Shell
clean mode source ↗

gh-118335: Configure Tier 2 interpreter at build time by gvanrossum · Pull Request #118339 · python/cpython

added 10 commits

April 26, 2024 14:11
It doesn't work. I'm giving up.

This reverts commit 877a005.
…l-jit=XXX

There's more to do.
The value is a bitflag:
- 0: off
- 1: JIT, on by default
- 3: JIT, off by default (not yet implemented, requires fiddling pystate.c)
- 4: tier 2 interpreter, on by default

mdboom

brandtbucher

brandtbucher

Apparently makes the CI fuzzer unhappy.

This reverts commit 3c919bb.

gvanrossum added a commit to gvanrossum/cpython that referenced this pull request

May 1, 2024

gvanrossum added a commit that referenced this pull request

May 1, 2024
…118493)

Also patch up news blurb for gh-118339
(add warning that PYTHON_UOPS is now PYTHON_JIT).

SonicField pushed a commit to SonicField/cpython that referenced this pull request

May 8, 2024
…18339)

The code for Tier 2 is now only compiled when configured
with `--enable-experimental-jit[=yes|interpreter]`.

We drop support for `PYTHON_UOPS` and -`Xuops`,
but you can disable the interpreter or JIT
at runtime by setting `PYTHON_JIT=0`.
You can also build it without enabling it by default
using `--enable-experimental-jit=yes-off`;
enable with `PYTHON_JIT=1`.

On Windows, the `build.bat` script supports
`--experimental-jit`, `--experimental-jit-off`,
`--experimental-interpreter`.

In the C code, `_Py_JIT` is defined as before
when the JIT is enabled; the new variable
`_Py_TIER2` is defined when the JIT *or* the
interpreter is enabled. It is actually a bitmask:
1: JIT; 2: default-off; 4: interpreter.

SonicField pushed a commit to SonicField/cpython that referenced this pull request

May 8, 2024