]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
GH-135379: Top of stack caching for the JIT. (GH-135465)
authorMark Shannon <mark@hotpy.org>
Thu, 11 Dec 2025 10:32:52 +0000 (10:32 +0000)
committerGitHub <noreply@github.com>
Thu, 11 Dec 2025 10:32:52 +0000 (10:32 +0000)
commit469f191a8501dfcad37c0d70480090733623842d
tree9b4e26bd08b2b559a0381432a65db9103fd572c4
parent80c9756e3fe193de21d6a7936af28c102da828de
GH-135379: Top of stack caching for the JIT. (GH-135465)

Uses three registers to cache values at the top of the evaluation stack
This significantly reduces memory traffic for smaller, more common uops.
30 files changed:
Include/cpython/pystats.h
Include/internal/pycore_jit.h
Include/internal/pycore_opcode_metadata.h
Include/internal/pycore_optimizer.h
Include/internal/pycore_stackref.h
Include/internal/pycore_uop.h
Include/internal/pycore_uop_ids.h
Include/internal/pycore_uop_metadata.h
Misc/NEWS.d/next/Core_and_Builtins/2025-12-05-15-59-03.gh-issue-135379.lDXbKO.rst [new file with mode: 0644]
Python/bytecodes.c
Python/ceval.c
Python/ceval_macros.h
Python/executor_cases.c.h
Python/generated_cases.c.h
Python/jit.c
Python/optimizer.c
Python/optimizer_bytecodes.c
Python/optimizer_cases.c.h
Python/pystats.c
Tools/cases_generator/analyzer.py
Tools/cases_generator/generators_common.py
Tools/cases_generator/opcode_metadata_generator.py
Tools/cases_generator/stack.py
Tools/cases_generator/tier2_generator.py
Tools/cases_generator/uop_id_generator.py
Tools/cases_generator/uop_metadata_generator.py
Tools/jit/_writer.py
Tools/jit/jit.h
Tools/jit/template.c
Tools/jit/trampoline.c