| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
(cherry picked from commit 07daaf1ce10eb6d7a5ca9ea7c9055bf571d9e57f)
Co-authored-by: Diego Russo <diego.russo@arm.com>
|
|
|
|
|
| |
(cherry picked from commit 285f42c850da0d8ca31850088eb7b9247cbbbc71)
Co-authored-by: Xarblu <xarblu@protonmail.com>
|
|
|
|
|
|
|
|
| |
an alternative option (GH-120434) (#120651)
gh-120433: Mention ``chocolatey`` for installing llvm on Windows as an alternative option (GH-120434)
(cherry picked from commit 95737bbf18765a24b6585708588c9b707dc30d27)
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
|
|
|
|
|
| |
(GH-119101)
(cherry picked from commit 4702b7b5bdc07d046576b4126cf4e4f5f7145abb)
|
|
|
|
|
| |
(cherry picked from commit ab73bcdf73fed5a23f2e2e37a63d6992f29479a9)
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
|
|
|
|
|
|
|
| |
(GH-119020)
(cherry picked from commit e04cd964eb4eee1b0ae5b2c34727abce6c0fb7f0)
Co-authored-by: Michał Górny <mgorny@gentoo.org>
|
| |
|
| |
|
| |
|
|
|
|
| |
(GH-118482)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
(GH-118279)
|
|
|
|
|
|
|
| |
(#116775)
Makes sys.settrace, sys.setprofile, and monitoring generally thread-safe.
Mostly uses a stop-the-world approach and synchronization around the code object's _co_instrumentation_version. There may be a little bit of extra synchronization around the monitoring data that's required to be TSAN clean.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a unified 16-bit backoff counter type (``_Py_BackoffCounter``),
shared between the Tier 1 adaptive specializer and the Tier 2 optimizer. The
API used for adaptive specialization counters is changed but the behavior is
(supposed to be) identical.
The behavior of the Tier 2 counters is changed:
- There are no longer dynamic thresholds (we never varied these).
- All counters now use the same exponential backoff.
- The counter for ``JUMP_BACKWARD`` starts counting down from 16.
- The ``temperature`` in side exits starts counting down from 64.
|
|
|
| |
Use critical sections to lock around accesses to cell contents. The critical sections are no-ops in the default (with GIL) build.
|
| |
|
|
|
|
|
| |
Splits the "cold" path, deopts and exits, from the "hot" path, reducing the size of most jitted instructions, at the cost of slower exits.
|
| |
|
|
|
| |
* Remove bad specializations, add fail stats
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
(GH-114142)
|
|
Add an option (--enable-experimental-jit for configure-based builds
or --experimental-jit for PCbuild-based ones) to build an
*experimental* just-in-time compiler, based on copy-and-patch (https://fredrikbk.com/publications/copy-and-patch.pdf).
See Tools/jit/README.md for more information on how to install the required build-time tooling.
|