]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-134584: Decref elimination for float ops in the JIT (GH-134588)
authorKen Jin <kenjin@python.org>
Tue, 17 Jun 2025 15:25:53 +0000 (23:25 +0800)
committerGitHub <noreply@github.com>
Tue, 17 Jun 2025 15:25:53 +0000 (23:25 +0800)
commitfba5dded6df3c2b1943557afef89a5cb418f65a2
tree78398108ec1ec4483c541fe1e4654eb942c4c815
parent8dd8b5c2f0785675b9282b719256341448d49967
gh-134584: Decref elimination for float ops in the JIT (GH-134588)

This PR adds a PyJitRef API to the JIT's optimizer that mimics the _PyStackRef API. This allows it to track references and their stack lifetimes properly. Thus opening up the doorway to refcount elimination in the JIT.
14 files changed:
Include/internal/pycore_optimizer.h
Include/internal/pycore_uop_ids.h
Include/internal/pycore_uop_metadata.h
Lib/test/test_capi/test_opt.py
Lib/test/test_generated_cases.py
Misc/NEWS.d/next/Core_and_Builtins/2025-05-23-14-54-07.gh-issue-134584.y-WDjf.rst [new file with mode: 0644]
Python/bytecodes.c
Python/executor_cases.c.h
Python/optimizer_analysis.c
Python/optimizer_bytecodes.c
Python/optimizer_cases.c.h
Python/optimizer_symbols.c
Tools/cases_generator/analyzer.py
Tools/cases_generator/optimizer_generator.py