diff options
| author | Mark Shannon <mark@hotpy.org> | 2021-06-10 08:46:01 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-10 08:46:01 +0100 |
| commit | e117c0283705943189e6b1aef668a1f68f3f00a4 (patch) | |
| tree | 2f0ed87b3a6ee853b65b7db260b39d62337e87bd /Lib/opcode.py | |
| parent | 309ab616020f8504ced8ca64f7d7abc2df25a37f (diff) | |
| download | cpython-git-e117c0283705943189e6b1aef668a1f68f3f00a4.tar.gz | |
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
Diffstat (limited to 'Lib/opcode.py')
| -rw-r--r-- | Lib/opcode.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/opcode.py b/Lib/opcode.py index 4d5343179e..265759e600 100644 --- a/Lib/opcode.py +++ b/Lib/opcode.py @@ -218,3 +218,12 @@ def_op('DICT_UPDATE', 165) def_op('CALL_METHOD_KW', 166) del def_op, name_op, jrel_op, jabs_op + +_specialized_instructions = [ + "JUMP_ABSOLUTE_QUICK", + "LOAD_ATTR_ADAPTIVE", + "LOAD_ATTR_SPLIT_KEYS", + "LOAD_ATTR_WITH_HINT", + "LOAD_ATTR_SLOT", + "LOAD_ATTR_MODULE", +] |
