mirror of
https://github.com/python/cpython.git
synced 2025-10-13 10:23:28 +00:00
Revert "GH-128914: Remove conditional stack effects from bytecodes.c
and the code generators (GH-128918)" (GH-129202)
The commit introduced a ~2.5-3% regression in the free threading build.
This reverts commit ab61d3f430
.
This commit is contained in:
parent
d7d066c3ab
commit
a10f99375e
44 changed files with 1679 additions and 1460 deletions
207
Lib/_opcode_metadata.py
generated
207
Lib/_opcode_metadata.py
generated
|
@ -59,9 +59,7 @@ _specializations = {
|
|||
],
|
||||
"LOAD_SUPER_ATTR": [
|
||||
"LOAD_SUPER_ATTR_ATTR",
|
||||
],
|
||||
"LOAD_SUPER_METHOD": [
|
||||
"LOAD_SUPER_METHOD_METHOD",
|
||||
"LOAD_SUPER_ATTR_METHOD",
|
||||
],
|
||||
"LOAD_ATTR": [
|
||||
"LOAD_ATTR_INSTANCE_VALUE",
|
||||
|
@ -72,14 +70,12 @@ _specializations = {
|
|||
"LOAD_ATTR_CLASS_WITH_METACLASS_CHECK",
|
||||
"LOAD_ATTR_PROPERTY",
|
||||
"LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN",
|
||||
"LOAD_ATTR_METHOD_WITH_VALUES",
|
||||
"LOAD_ATTR_METHOD_NO_DICT",
|
||||
"LOAD_ATTR_METHOD_LAZY_DICT",
|
||||
"LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES",
|
||||
"LOAD_ATTR_NONDESCRIPTOR_NO_DICT",
|
||||
],
|
||||
"LOAD_METHOD": [
|
||||
"LOAD_METHOD_WITH_VALUES",
|
||||
"LOAD_METHOD_NO_DICT",
|
||||
"LOAD_METHOD_LAZY_DICT",
|
||||
],
|
||||
"COMPARE_OP": [
|
||||
"COMPARE_OP_FLOAT",
|
||||
"COMPARE_OP_INT",
|
||||
|
@ -175,21 +171,21 @@ _specialized_opmap = {
|
|||
'LOAD_ATTR_CLASS_WITH_METACLASS_CHECK': 196,
|
||||
'LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN': 197,
|
||||
'LOAD_ATTR_INSTANCE_VALUE': 198,
|
||||
'LOAD_ATTR_MODULE': 199,
|
||||
'LOAD_ATTR_NONDESCRIPTOR_NO_DICT': 200,
|
||||
'LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES': 201,
|
||||
'LOAD_ATTR_PROPERTY': 202,
|
||||
'LOAD_ATTR_SLOT': 203,
|
||||
'LOAD_ATTR_WITH_HINT': 204,
|
||||
'LOAD_CONST_IMMORTAL': 205,
|
||||
'LOAD_CONST_MORTAL': 206,
|
||||
'LOAD_GLOBAL_BUILTIN': 207,
|
||||
'LOAD_GLOBAL_MODULE': 208,
|
||||
'LOAD_METHOD_LAZY_DICT': 209,
|
||||
'LOAD_METHOD_NO_DICT': 210,
|
||||
'LOAD_METHOD_WITH_VALUES': 211,
|
||||
'LOAD_ATTR_METHOD_LAZY_DICT': 199,
|
||||
'LOAD_ATTR_METHOD_NO_DICT': 200,
|
||||
'LOAD_ATTR_METHOD_WITH_VALUES': 201,
|
||||
'LOAD_ATTR_MODULE': 202,
|
||||
'LOAD_ATTR_NONDESCRIPTOR_NO_DICT': 203,
|
||||
'LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES': 204,
|
||||
'LOAD_ATTR_PROPERTY': 205,
|
||||
'LOAD_ATTR_SLOT': 206,
|
||||
'LOAD_ATTR_WITH_HINT': 207,
|
||||
'LOAD_CONST_IMMORTAL': 208,
|
||||
'LOAD_CONST_MORTAL': 209,
|
||||
'LOAD_GLOBAL_BUILTIN': 210,
|
||||
'LOAD_GLOBAL_MODULE': 211,
|
||||
'LOAD_SUPER_ATTR_ATTR': 212,
|
||||
'LOAD_SUPER_METHOD_METHOD': 213,
|
||||
'LOAD_SUPER_ATTR_METHOD': 213,
|
||||
'RESUME_CHECK': 214,
|
||||
'SEND_GEN': 215,
|
||||
'STORE_ATTR_INSTANCE_VALUE': 216,
|
||||
|
@ -216,54 +212,54 @@ opmap = {
|
|||
'ENTER_EXECUTOR': 255,
|
||||
'BINARY_SLICE': 1,
|
||||
'BINARY_SUBSCR': 2,
|
||||
'CALL_FUNCTION_EX': 4,
|
||||
'CHECK_EG_MATCH': 5,
|
||||
'CHECK_EXC_MATCH': 6,
|
||||
'CLEANUP_THROW': 7,
|
||||
'DELETE_SUBSCR': 8,
|
||||
'END_ASYNC_FOR': 9,
|
||||
'END_FOR': 10,
|
||||
'END_SEND': 11,
|
||||
'EXIT_INIT_CHECK': 12,
|
||||
'FORMAT_SIMPLE': 13,
|
||||
'FORMAT_WITH_SPEC': 14,
|
||||
'GET_AITER': 15,
|
||||
'GET_ANEXT': 16,
|
||||
'GET_ITER': 18,
|
||||
'GET_LEN': 19,
|
||||
'GET_YIELD_FROM_ITER': 20,
|
||||
'INTERPRETER_EXIT': 21,
|
||||
'LOAD_BUILD_CLASS': 22,
|
||||
'LOAD_LOCALS': 23,
|
||||
'MAKE_FUNCTION': 24,
|
||||
'MATCH_KEYS': 25,
|
||||
'MATCH_MAPPING': 26,
|
||||
'MATCH_SEQUENCE': 27,
|
||||
'NOP': 28,
|
||||
'NOT_TAKEN': 29,
|
||||
'POP_EXCEPT': 30,
|
||||
'POP_ITER': 31,
|
||||
'POP_TOP': 32,
|
||||
'PUSH_EXC_INFO': 33,
|
||||
'PUSH_NULL': 34,
|
||||
'RETURN_GENERATOR': 35,
|
||||
'RETURN_VALUE': 36,
|
||||
'SETUP_ANNOTATIONS': 37,
|
||||
'STORE_SLICE': 38,
|
||||
'STORE_SUBSCR': 39,
|
||||
'TO_BOOL': 40,
|
||||
'UNARY_INVERT': 41,
|
||||
'UNARY_NEGATIVE': 42,
|
||||
'UNARY_NOT': 43,
|
||||
'WITH_EXCEPT_START': 44,
|
||||
'BINARY_OP': 45,
|
||||
'BUILD_LIST': 46,
|
||||
'BUILD_MAP': 47,
|
||||
'BUILD_SET': 48,
|
||||
'BUILD_SLICE': 49,
|
||||
'BUILD_STRING': 50,
|
||||
'BUILD_TUPLE': 51,
|
||||
'CALL': 52,
|
||||
'CHECK_EG_MATCH': 4,
|
||||
'CHECK_EXC_MATCH': 5,
|
||||
'CLEANUP_THROW': 6,
|
||||
'DELETE_SUBSCR': 7,
|
||||
'END_ASYNC_FOR': 8,
|
||||
'END_FOR': 9,
|
||||
'END_SEND': 10,
|
||||
'EXIT_INIT_CHECK': 11,
|
||||
'FORMAT_SIMPLE': 12,
|
||||
'FORMAT_WITH_SPEC': 13,
|
||||
'GET_AITER': 14,
|
||||
'GET_ANEXT': 15,
|
||||
'GET_ITER': 16,
|
||||
'GET_LEN': 18,
|
||||
'GET_YIELD_FROM_ITER': 19,
|
||||
'INTERPRETER_EXIT': 20,
|
||||
'LOAD_BUILD_CLASS': 21,
|
||||
'LOAD_LOCALS': 22,
|
||||
'MAKE_FUNCTION': 23,
|
||||
'MATCH_KEYS': 24,
|
||||
'MATCH_MAPPING': 25,
|
||||
'MATCH_SEQUENCE': 26,
|
||||
'NOP': 27,
|
||||
'NOT_TAKEN': 28,
|
||||
'POP_EXCEPT': 29,
|
||||
'POP_ITER': 30,
|
||||
'POP_TOP': 31,
|
||||
'PUSH_EXC_INFO': 32,
|
||||
'PUSH_NULL': 33,
|
||||
'RETURN_GENERATOR': 34,
|
||||
'RETURN_VALUE': 35,
|
||||
'SETUP_ANNOTATIONS': 36,
|
||||
'STORE_SLICE': 37,
|
||||
'STORE_SUBSCR': 38,
|
||||
'TO_BOOL': 39,
|
||||
'UNARY_INVERT': 40,
|
||||
'UNARY_NEGATIVE': 41,
|
||||
'UNARY_NOT': 42,
|
||||
'WITH_EXCEPT_START': 43,
|
||||
'BINARY_OP': 44,
|
||||
'BUILD_LIST': 45,
|
||||
'BUILD_MAP': 46,
|
||||
'BUILD_SET': 47,
|
||||
'BUILD_SLICE': 48,
|
||||
'BUILD_STRING': 49,
|
||||
'BUILD_TUPLE': 50,
|
||||
'CALL': 51,
|
||||
'CALL_FUNCTION_EX': 52,
|
||||
'CALL_INTRINSIC_1': 53,
|
||||
'CALL_INTRINSIC_2': 54,
|
||||
'CALL_KW': 55,
|
||||
|
@ -301,41 +297,38 @@ opmap = {
|
|||
'LOAD_FROM_DICT_OR_DEREF': 87,
|
||||
'LOAD_FROM_DICT_OR_GLOBALS': 88,
|
||||
'LOAD_GLOBAL': 89,
|
||||
'LOAD_METHOD': 90,
|
||||
'LOAD_NAME': 91,
|
||||
'LOAD_SMALL_INT': 92,
|
||||
'LOAD_SPECIAL': 93,
|
||||
'LOAD_SUPER_ATTR': 94,
|
||||
'LOAD_SUPER_METHOD': 95,
|
||||
'MAKE_CELL': 96,
|
||||
'MAP_ADD': 97,
|
||||
'MATCH_CLASS': 98,
|
||||
'POP_JUMP_IF_FALSE': 99,
|
||||
'POP_JUMP_IF_NONE': 100,
|
||||
'POP_JUMP_IF_NOT_NONE': 101,
|
||||
'POP_JUMP_IF_TRUE': 102,
|
||||
'RAISE_VARARGS': 103,
|
||||
'RERAISE': 104,
|
||||
'SEND': 105,
|
||||
'SET_ADD': 106,
|
||||
'SET_FUNCTION_ATTRIBUTE': 107,
|
||||
'SET_UPDATE': 108,
|
||||
'STORE_ATTR': 109,
|
||||
'STORE_DEREF': 110,
|
||||
'STORE_FAST': 111,
|
||||
'STORE_FAST_LOAD_FAST': 112,
|
||||
'STORE_FAST_STORE_FAST': 113,
|
||||
'STORE_GLOBAL': 114,
|
||||
'STORE_NAME': 115,
|
||||
'SWAP': 116,
|
||||
'UNPACK_EX': 117,
|
||||
'UNPACK_SEQUENCE': 118,
|
||||
'YIELD_VALUE': 119,
|
||||
'INSTRUMENTED_END_FOR': 234,
|
||||
'INSTRUMENTED_POP_ITER': 235,
|
||||
'INSTRUMENTED_END_SEND': 236,
|
||||
'INSTRUMENTED_LOAD_SUPER_ATTR': 237,
|
||||
'INSTRUMENTED_LOAD_SUPER_METHOD': 238,
|
||||
'LOAD_NAME': 90,
|
||||
'LOAD_SMALL_INT': 91,
|
||||
'LOAD_SPECIAL': 92,
|
||||
'LOAD_SUPER_ATTR': 93,
|
||||
'MAKE_CELL': 94,
|
||||
'MAP_ADD': 95,
|
||||
'MATCH_CLASS': 96,
|
||||
'POP_JUMP_IF_FALSE': 97,
|
||||
'POP_JUMP_IF_NONE': 98,
|
||||
'POP_JUMP_IF_NOT_NONE': 99,
|
||||
'POP_JUMP_IF_TRUE': 100,
|
||||
'RAISE_VARARGS': 101,
|
||||
'RERAISE': 102,
|
||||
'SEND': 103,
|
||||
'SET_ADD': 104,
|
||||
'SET_FUNCTION_ATTRIBUTE': 105,
|
||||
'SET_UPDATE': 106,
|
||||
'STORE_ATTR': 107,
|
||||
'STORE_DEREF': 108,
|
||||
'STORE_FAST': 109,
|
||||
'STORE_FAST_LOAD_FAST': 110,
|
||||
'STORE_FAST_STORE_FAST': 111,
|
||||
'STORE_GLOBAL': 112,
|
||||
'STORE_NAME': 113,
|
||||
'SWAP': 114,
|
||||
'UNPACK_EX': 115,
|
||||
'UNPACK_SEQUENCE': 116,
|
||||
'YIELD_VALUE': 117,
|
||||
'INSTRUMENTED_END_FOR': 235,
|
||||
'INSTRUMENTED_POP_ITER': 236,
|
||||
'INSTRUMENTED_END_SEND': 237,
|
||||
'INSTRUMENTED_LOAD_SUPER_ATTR': 238,
|
||||
'INSTRUMENTED_FOR_ITER': 239,
|
||||
'INSTRUMENTED_CALL_KW': 240,
|
||||
'INSTRUMENTED_CALL_FUNCTION_EX': 241,
|
||||
|
@ -363,5 +356,5 @@ opmap = {
|
|||
'STORE_FAST_MAYBE_NULL': 265,
|
||||
}
|
||||
|
||||
HAVE_ARGUMENT = 44
|
||||
MIN_INSTRUMENTED_OPCODE = 234
|
||||
HAVE_ARGUMENT = 43
|
||||
MIN_INSTRUMENTED_OPCODE = 235
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue