GH-118093: Specialize CALL_KW (GH-123006)

This commit is contained in:
Mark Shannon 2024-08-16 17:11:24 +01:00 committed by GitHub
parent e2f2dc708e
commit c13e7d98fb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 1083 additions and 273 deletions

114
Lib/_opcode_metadata.py generated
View file

@ -107,6 +107,11 @@ _specializations = {
"CALL_BOUND_METHOD_GENERAL",
"CALL_NON_PY_GENERAL",
],
"CALL_KW": [
"CALL_KW_BOUND_METHOD",
"CALL_KW_PY",
"CALL_KW_NON_PY",
],
}
_specialized_opmap = {
@ -131,59 +136,62 @@ _specialized_opmap = {
'CALL_BUILTIN_FAST_WITH_KEYWORDS': 167,
'CALL_BUILTIN_O': 168,
'CALL_ISINSTANCE': 169,
'CALL_LEN': 170,
'CALL_LIST_APPEND': 171,
'CALL_METHOD_DESCRIPTOR_FAST': 172,
'CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS': 173,
'CALL_METHOD_DESCRIPTOR_NOARGS': 174,
'CALL_METHOD_DESCRIPTOR_O': 175,
'CALL_NON_PY_GENERAL': 176,
'CALL_PY_EXACT_ARGS': 177,
'CALL_PY_GENERAL': 178,
'CALL_STR_1': 179,
'CALL_TUPLE_1': 180,
'CALL_TYPE_1': 181,
'COMPARE_OP_FLOAT': 182,
'COMPARE_OP_INT': 183,
'COMPARE_OP_STR': 184,
'CONTAINS_OP_DICT': 185,
'CONTAINS_OP_SET': 186,
'FOR_ITER_GEN': 187,
'FOR_ITER_LIST': 188,
'FOR_ITER_RANGE': 189,
'FOR_ITER_TUPLE': 190,
'LOAD_ATTR_CLASS': 191,
'LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN': 192,
'LOAD_ATTR_INSTANCE_VALUE': 193,
'LOAD_ATTR_METHOD_LAZY_DICT': 194,
'LOAD_ATTR_METHOD_NO_DICT': 195,
'LOAD_ATTR_METHOD_WITH_VALUES': 196,
'LOAD_ATTR_MODULE': 197,
'LOAD_ATTR_NONDESCRIPTOR_NO_DICT': 198,
'LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES': 199,
'LOAD_ATTR_PROPERTY': 200,
'LOAD_ATTR_SLOT': 201,
'LOAD_ATTR_WITH_HINT': 202,
'LOAD_GLOBAL_BUILTIN': 203,
'LOAD_GLOBAL_MODULE': 204,
'LOAD_SUPER_ATTR_ATTR': 205,
'LOAD_SUPER_ATTR_METHOD': 206,
'RESUME_CHECK': 207,
'SEND_GEN': 208,
'STORE_ATTR_INSTANCE_VALUE': 209,
'STORE_ATTR_SLOT': 210,
'STORE_ATTR_WITH_HINT': 211,
'STORE_SUBSCR_DICT': 212,
'STORE_SUBSCR_LIST_INT': 213,
'TO_BOOL_ALWAYS_TRUE': 214,
'TO_BOOL_BOOL': 215,
'TO_BOOL_INT': 216,
'TO_BOOL_LIST': 217,
'TO_BOOL_NONE': 218,
'TO_BOOL_STR': 219,
'UNPACK_SEQUENCE_LIST': 220,
'UNPACK_SEQUENCE_TUPLE': 221,
'UNPACK_SEQUENCE_TWO_TUPLE': 222,
'CALL_KW_BOUND_METHOD': 170,
'CALL_KW_NON_PY': 171,
'CALL_KW_PY': 172,
'CALL_LEN': 173,
'CALL_LIST_APPEND': 174,
'CALL_METHOD_DESCRIPTOR_FAST': 175,
'CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS': 176,
'CALL_METHOD_DESCRIPTOR_NOARGS': 177,
'CALL_METHOD_DESCRIPTOR_O': 178,
'CALL_NON_PY_GENERAL': 179,
'CALL_PY_EXACT_ARGS': 180,
'CALL_PY_GENERAL': 181,
'CALL_STR_1': 182,
'CALL_TUPLE_1': 183,
'CALL_TYPE_1': 184,
'COMPARE_OP_FLOAT': 185,
'COMPARE_OP_INT': 186,
'COMPARE_OP_STR': 187,
'CONTAINS_OP_DICT': 188,
'CONTAINS_OP_SET': 189,
'FOR_ITER_GEN': 190,
'FOR_ITER_LIST': 191,
'FOR_ITER_RANGE': 192,
'FOR_ITER_TUPLE': 193,
'LOAD_ATTR_CLASS': 194,
'LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN': 195,
'LOAD_ATTR_INSTANCE_VALUE': 196,
'LOAD_ATTR_METHOD_LAZY_DICT': 197,
'LOAD_ATTR_METHOD_NO_DICT': 198,
'LOAD_ATTR_METHOD_WITH_VALUES': 199,
'LOAD_ATTR_MODULE': 200,
'LOAD_ATTR_NONDESCRIPTOR_NO_DICT': 201,
'LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES': 202,
'LOAD_ATTR_PROPERTY': 203,
'LOAD_ATTR_SLOT': 204,
'LOAD_ATTR_WITH_HINT': 205,
'LOAD_GLOBAL_BUILTIN': 206,
'LOAD_GLOBAL_MODULE': 207,
'LOAD_SUPER_ATTR_ATTR': 208,
'LOAD_SUPER_ATTR_METHOD': 209,
'RESUME_CHECK': 210,
'SEND_GEN': 211,
'STORE_ATTR_INSTANCE_VALUE': 212,
'STORE_ATTR_SLOT': 213,
'STORE_ATTR_WITH_HINT': 214,
'STORE_SUBSCR_DICT': 215,
'STORE_SUBSCR_LIST_INT': 216,
'TO_BOOL_ALWAYS_TRUE': 217,
'TO_BOOL_BOOL': 218,
'TO_BOOL_INT': 219,
'TO_BOOL_LIST': 220,
'TO_BOOL_NONE': 221,
'TO_BOOL_STR': 222,
'UNPACK_SEQUENCE_LIST': 223,
'UNPACK_SEQUENCE_TUPLE': 224,
'UNPACK_SEQUENCE_TWO_TUPLE': 225,
}
opmap = {