]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-44337: Port LOAD_ATTR to PEP 659 adaptive interpreter (GH-26595)
authorMark Shannon <mark@hotpy.org>
Thu, 10 Jun 2021 07:46:01 +0000 (08:46 +0100)
committerGitHub <noreply@github.com>
Thu, 10 Jun 2021 07:46:01 +0000 (08:46 +0100)
commite117c0283705943189e6b1aef668a1f68f3f00a4
tree2f0ed87b3a6ee853b65b7db260b39d62337e87bd
parent309ab616020f8504ced8ca64f7d7abc2df25a37f
bpo-44337: Port LOAD_ATTR to PEP 659 adaptive interpreter (GH-26595)

* Specialize LOAD_ATTR with  LOAD_ATTR_SLOT and LOAD_ATTR_SPLIT_KEYS

* Move dict-common.h to internal/pycore_dict.h

* Add LOAD_ATTR_WITH_HINT specialized opcode.

* Quicken in function if loopy

* Specialize LOAD_ATTR for module attributes.

* Add specialization stats
14 files changed:
Include/internal/pycore_code.h
Include/internal/pycore_dict.h [moved from Objects/dict-common.h with 66% similarity]
Include/opcode.h
Lib/opcode.py
Lib/test/test_capi.py
Makefile.pre.in
Misc/NEWS.d/next/Core and Builtins/2021-06-08-10-22-46.bpo-44337.RTjmIt.rst [new file with mode: 0644]
Objects/dictobject.c
Objects/odictobject.c
Python/ceval.c
Python/makeopcodetargets.py
Python/opcode_targets.h
Python/specialize.c
Tools/scripts/generate_opcode_h.py