GH-105848: Replace KW_NAMES + CALL with LOAD_CONST + CALL_KW (GH-109300)

This commit is contained in:
Brandt Bucher 2023-09-13 10:25:45 -07:00 • committed by GitHub
parent 987b4bc087
commit 22e65eecaa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 719 additions and 508 deletions

127
Lib/_opcode_metadata.py generated
View file

@ -85,21 +85,21 @@ _specializations = {
"CALL_BOUND_METHOD_EXACT_ARGS",
"CALL_PY_EXACT_ARGS",
"CALL_PY_WITH_DEFAULTS",
"CALL_NO_KW_TYPE_1",
"CALL_NO_KW_STR_1",
"CALL_NO_KW_TUPLE_1",
"CALL_TYPE_1",
"CALL_STR_1",
"CALL_TUPLE_1",
"CALL_BUILTIN_CLASS",
"CALL_NO_KW_BUILTIN_O",
"CALL_NO_KW_BUILTIN_FAST",
"CALL_BUILTIN_O",
"CALL_BUILTIN_FAST",
"CALL_BUILTIN_FAST_WITH_KEYWORDS",
"CALL_NO_KW_LEN",
"CALL_NO_KW_ISINSTANCE",
"CALL_NO_KW_LIST_APPEND",
"CALL_NO_KW_METHOD_DESCRIPTOR_O",
"CALL_LEN",
"CALL_ISINSTANCE",
"CALL_LIST_APPEND",
"CALL_METHOD_DESCRIPTOR_O",
"CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS",
"CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS",
"CALL_NO_KW_METHOD_DESCRIPTOR_FAST",
"CALL_NO_KW_ALLOC_AND_ENTER_INIT",
"CALL_METHOD_DESCRIPTOR_NOARGS",
"CALL_METHOD_DESCRIPTOR_FAST",
"CALL_ALLOC_AND_ENTER_INIT",
],
}
@ -120,24 +120,24 @@ _specialized_opmap = {
'BINARY_SUBSCR_LIST_INT': 159,
'BINARY_SUBSCR_STR_INT': 160,
'BINARY_SUBSCR_TUPLE_INT': 161,
'CALL_BOUND_METHOD_EXACT_ARGS': 162,
'CALL_BUILTIN_CLASS': 163,
'CALL_BUILTIN_FAST_WITH_KEYWORDS': 164,
'CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS': 165,
'CALL_NO_KW_ALLOC_AND_ENTER_INIT': 166,
'CALL_NO_KW_BUILTIN_FAST': 167,
'CALL_NO_KW_BUILTIN_O': 168,
'CALL_NO_KW_ISINSTANCE': 169,
'CALL_NO_KW_LEN': 170,
'CALL_NO_KW_LIST_APPEND': 171,
'CALL_NO_KW_METHOD_DESCRIPTOR_FAST': 172,
'CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS': 173,
'CALL_NO_KW_METHOD_DESCRIPTOR_O': 174,
'CALL_NO_KW_STR_1': 175,
'CALL_NO_KW_TUPLE_1': 176,
'CALL_NO_KW_TYPE_1': 177,
'CALL_PY_EXACT_ARGS': 178,
'CALL_PY_WITH_DEFAULTS': 179,
'CALL_ALLOC_AND_ENTER_INIT': 162,
'CALL_BOUND_METHOD_EXACT_ARGS': 163,
'CALL_BUILTIN_CLASS': 164,
'CALL_BUILTIN_FAST': 165,
'CALL_BUILTIN_FAST_WITH_KEYWORDS': 166,
'CALL_BUILTIN_O': 167,
'CALL_ISINSTANCE': 168,
'CALL_LEN': 169,
'CALL_LIST_APPEND': 170,
'CALL_METHOD_DESCRIPTOR_FAST': 171,
'CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS': 172,
'CALL_METHOD_DESCRIPTOR_NOARGS': 173,
'CALL_METHOD_DESCRIPTOR_O': 174,
'CALL_PY_EXACT_ARGS': 175,
'CALL_PY_WITH_DEFAULTS': 176,
'CALL_STR_1': 177,
'CALL_TUPLE_1': 178,
'CALL_TYPE_1': 179,
'COMPARE_OP_FLOAT': 180,
'COMPARE_OP_INT': 181,
'COMPARE_OP_STR': 182,
@ -236,29 +236,29 @@ opmap = {
'CALL_FUNCTION_EX': 54,
'CALL_INTRINSIC_1': 55,
'CALL_INTRINSIC_2': 56,
'COMPARE_OP': 57,
'CONTAINS_OP': 58,
'CONVERT_VALUE': 59,
'COPY': 60,
'COPY_FREE_VARS': 61,
'DELETE_ATTR': 62,
'DELETE_DEREF': 63,
'DELETE_FAST': 64,
'DELETE_GLOBAL': 65,
'DELETE_NAME': 66,
'DICT_MERGE': 67,
'DICT_UPDATE': 68,
'ENTER_EXECUTOR': 69,
'EXTENDED_ARG': 70,
'FOR_ITER': 71,
'GET_AWAITABLE': 72,
'IMPORT_FROM': 73,
'IMPORT_NAME': 74,
'IS_OP': 75,
'JUMP_BACKWARD': 76,
'JUMP_BACKWARD_NO_INTERRUPT': 77,
'JUMP_FORWARD': 78,
'KW_NAMES': 79,
'CALL_KW': 57,
'COMPARE_OP': 58,
'CONTAINS_OP': 59,
'CONVERT_VALUE': 60,
'COPY': 61,
'COPY_FREE_VARS': 62,
'DELETE_ATTR': 63,
'DELETE_DEREF': 64,
'DELETE_FAST': 65,
'DELETE_GLOBAL': 66,
'DELETE_NAME': 67,
'DICT_MERGE': 68,
'DICT_UPDATE': 69,
'ENTER_EXECUTOR': 70,
'EXTENDED_ARG': 71,
'FOR_ITER': 72,
'GET_AWAITABLE': 73,
'IMPORT_FROM': 74,
'IMPORT_NAME': 75,
'IS_OP': 76,
'JUMP_BACKWARD': 77,
'JUMP_BACKWARD_NO_INTERRUPT': 78,
'JUMP_FORWARD': 79,
'LIST_APPEND': 80,
'LIST_EXTEND': 81,
'LOAD_ATTR': 82,
@ -299,15 +299,16 @@ opmap = {
'UNPACK_SEQUENCE': 117,
'YIELD_VALUE': 118,
'RESUME': 149,
'INSTRUMENTED_RESUME': 237,
'INSTRUMENTED_END_FOR': 238,
'INSTRUMENTED_END_SEND': 239,
'INSTRUMENTED_RETURN_VALUE': 240,
'INSTRUMENTED_RETURN_CONST': 241,
'INSTRUMENTED_YIELD_VALUE': 242,
'INSTRUMENTED_LOAD_SUPER_ATTR': 243,
'INSTRUMENTED_FOR_ITER': 244,
'INSTRUMENTED_CALL': 245,
'INSTRUMENTED_RESUME': 236,
'INSTRUMENTED_END_FOR': 237,
'INSTRUMENTED_END_SEND': 238,
'INSTRUMENTED_RETURN_VALUE': 239,
'INSTRUMENTED_RETURN_CONST': 240,
'INSTRUMENTED_YIELD_VALUE': 241,
'INSTRUMENTED_LOAD_SUPER_ATTR': 242,
'INSTRUMENTED_FOR_ITER': 243,
'INSTRUMENTED_CALL': 244,
'INSTRUMENTED_CALL_KW': 245,
'INSTRUMENTED_CALL_FUNCTION_EX': 246,
'INSTRUMENTED_INSTRUCTION': 247,
'INSTRUMENTED_JUMP_FORWARD': 248,
@ -330,5 +331,5 @@ opmap = {
'SETUP_WITH': 266,
'STORE_FAST_MAYBE_NULL': 267,
}
MIN_INSTRUMENTED_OPCODE = 237
MIN_INSTRUMENTED_OPCODE = 236
HAVE_ARGUMENT = 45