diff options
| author | Mark Shannon <mark@hotpy.org> | 2021-10-13 14:19:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-13 14:19:34 +0100 |
| commit | a8b9350964f43cb648c98c179c8037fbf3ff8a7d (patch) | |
| tree | 13a539432c9d48ac278d34d040f17a7a12eac771 /Lib/opcode.py | |
| parent | 97308dfcdc0696e0b116c37386e2ff4d72e6c3f4 (diff) | |
| download | cpython-git-a8b9350964f43cb648c98c179c8037fbf3ff8a7d.tar.gz | |
bpo-45340: Don't create object dictionaries unless actually needed (GH-28802)
* Never change types' cached keys. It could invalidate inline attribute objects.
* Lazily create object dictionaries.
* Update specialization of LOAD/STORE_ATTR.
* Don't update shared keys version for deletion of value.
* Update gdb support to handle instance values.
* Rename SPLIT_KEYS opcodes to INSTANCE_VALUE.
Diffstat (limited to 'Lib/opcode.py')
| -rw-r--r-- | Lib/opcode.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/opcode.py b/Lib/opcode.py index 5d35674688..efd6aefccc 100644 --- a/Lib/opcode.py +++ b/Lib/opcode.py @@ -231,7 +231,7 @@ _specialized_instructions = [ "BINARY_SUBSCR_DICT", "JUMP_ABSOLUTE_QUICK", "LOAD_ATTR_ADAPTIVE", - "LOAD_ATTR_SPLIT_KEYS", + "LOAD_ATTR_INSTANCE_VALUE", "LOAD_ATTR_WITH_HINT", "LOAD_ATTR_SLOT", "LOAD_ATTR_MODULE", @@ -242,8 +242,9 @@ _specialized_instructions = [ "LOAD_METHOD_CACHED", "LOAD_METHOD_CLASS", "LOAD_METHOD_MODULE", + "LOAD_METHOD_NO_DICT", "STORE_ATTR_ADAPTIVE", - "STORE_ATTR_SPLIT_KEYS", + "STORE_ATTR_INSTANCE_VALUE", "STORE_ATTR_SLOT", "STORE_ATTR_WITH_HINT", # Super instructions |
