diff options
author | Savannah Ostrowski <savannahostrowski@gmail.com> | 2024-07-17 22:17:47 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-17 22:17:47 (GMT) |
commit | f113c1a2a9d4fb2860de1bd8c05677f00fd49bd9 (patch) | |
tree | 62a55c11a417098a1b3f30d521ebf0900cf2ac3c /Tools | |
parent | 51da3dfbf3782ad678624e720ec3fc8dfff27d16 (diff) | |
download | cpython-f113c1a2a9d4fb2860de1bd8c05677f00fd49bd9.zip cpython-f113c1a2a9d4fb2860de1bd8c05677f00fd49bd9.tar.gz cpython-f113c1a2a9d4fb2860de1bd8c05677f00fd49bd9.tar.bz2 |
Add note about PYTHON_JIT environment variable to JIT README (GH-121635)
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/jit/README.md | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Tools/jit/README.md b/Tools/jit/README.md index 73d2dee..bc6f793 100644 --- a/Tools/jit/README.md +++ b/Tools/jit/README.md @@ -1,7 +1,7 @@ The JIT Compiler ================ -This version of CPython can be built with an experimental just-in-time compiler. While most everything you already know about building and using CPython is unchanged, you will probably need to install a compatible version of LLVM first. +This version of CPython can be built with an experimental just-in-time compiler[^pep-744]. While most everything you already know about building and using CPython is unchanged, you will probably need to install a compatible version of LLVM first. ## Installing LLVM @@ -57,6 +57,10 @@ For `PCbuild`-based builds, pass the new `--experimental-jit` option to `build.b For all other builds, pass the new `--enable-experimental-jit` option to `configure`. -Otherwise, just configure and build as you normally would. Cross-compiling "just works", since the JIT is built for the host platform. +Otherwise, just configure and build as you normally would. Cross-compiling "just works", since the JIT is built for the host platform. + +The JIT can also be enabled or disabled using the `PYTHON_JIT` environment variable, even on builds where it is enabled or disabled by default. More details about configuring CPython with the JIT and optional values for `--enable-experimental-jit` can be found [here](https://docs.python.org/dev/whatsnew/3.13.html#experimental-jit-compiler). + +[^pep-744]: [PEP 744](https://peps.python.org/pep-0744/) [^why-llvm]: Clang is specifically needed because it's the only C compiler with support for guaranteed tail calls (`musttail`), which are required by CPython's continuation-passing-style approach to JIT compilation. Since LLVM also includes other functionalities we need (namely, object file parsing and disassembly), it's convenient to only support one toolchain at this time. |