GH-128375: Better instrument for FOR_ITER (GH-128445)

This commit is contained in:
Mark Shannon 2025-01-06 17:54:47 +00:00 committed by GitHub
parent b9c693dcca
commit f826beca0c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 827 additions and 544 deletions

182
Lib/_opcode_metadata.py generated
View file

@ -233,94 +233,96 @@ opmap = {
'NOP': 27,
'NOT_TAKEN': 28,
'POP_EXCEPT': 29,
'POP_TOP': 30,
'PUSH_EXC_INFO': 31,
'PUSH_NULL': 32,
'RETURN_GENERATOR': 33,
'RETURN_VALUE': 34,
'SETUP_ANNOTATIONS': 35,
'STORE_SLICE': 36,
'STORE_SUBSCR': 37,
'TO_BOOL': 38,
'UNARY_INVERT': 39,
'UNARY_NEGATIVE': 40,
'UNARY_NOT': 41,
'WITH_EXCEPT_START': 42,
'BINARY_OP': 43,
'BUILD_LIST': 44,
'BUILD_MAP': 45,
'BUILD_SET': 46,
'BUILD_SLICE': 47,
'BUILD_STRING': 48,
'BUILD_TUPLE': 49,
'CALL': 50,
'CALL_FUNCTION_EX': 51,
'CALL_INTRINSIC_1': 52,
'CALL_INTRINSIC_2': 53,
'CALL_KW': 54,
'COMPARE_OP': 55,
'CONTAINS_OP': 56,
'CONVERT_VALUE': 57,
'COPY': 58,
'COPY_FREE_VARS': 59,
'DELETE_ATTR': 60,
'DELETE_DEREF': 61,
'DELETE_FAST': 62,
'DELETE_GLOBAL': 63,
'DELETE_NAME': 64,
'DICT_MERGE': 65,
'DICT_UPDATE': 66,
'EXTENDED_ARG': 67,
'FOR_ITER': 68,
'GET_AWAITABLE': 69,
'IMPORT_FROM': 70,
'IMPORT_NAME': 71,
'IS_OP': 72,
'JUMP_BACKWARD': 73,
'JUMP_BACKWARD_NO_INTERRUPT': 74,
'JUMP_FORWARD': 75,
'LIST_APPEND': 76,
'LIST_EXTEND': 77,
'LOAD_ATTR': 78,
'LOAD_COMMON_CONSTANT': 79,
'LOAD_CONST': 80,
'LOAD_DEREF': 81,
'LOAD_FAST': 82,
'LOAD_FAST_AND_CLEAR': 83,
'LOAD_FAST_CHECK': 84,
'LOAD_FAST_LOAD_FAST': 85,
'LOAD_FROM_DICT_OR_DEREF': 86,
'LOAD_FROM_DICT_OR_GLOBALS': 87,
'LOAD_GLOBAL': 88,
'LOAD_NAME': 89,
'LOAD_SMALL_INT': 90,
'LOAD_SPECIAL': 91,
'LOAD_SUPER_ATTR': 92,
'MAKE_CELL': 93,
'MAP_ADD': 94,
'MATCH_CLASS': 95,
'POP_JUMP_IF_FALSE': 96,
'POP_JUMP_IF_NONE': 97,
'POP_JUMP_IF_NOT_NONE': 98,
'POP_JUMP_IF_TRUE': 99,
'RAISE_VARARGS': 100,
'RERAISE': 101,
'SEND': 102,
'SET_ADD': 103,
'SET_FUNCTION_ATTRIBUTE': 104,
'SET_UPDATE': 105,
'STORE_ATTR': 106,
'STORE_DEREF': 107,
'STORE_FAST': 108,
'STORE_FAST_LOAD_FAST': 109,
'STORE_FAST_STORE_FAST': 110,
'STORE_GLOBAL': 111,
'STORE_NAME': 112,
'SWAP': 113,
'UNPACK_EX': 114,
'UNPACK_SEQUENCE': 115,
'YIELD_VALUE': 116,
'INSTRUMENTED_END_FOR': 236,
'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,
'COMPARE_OP': 56,
'CONTAINS_OP': 57,
'CONVERT_VALUE': 58,
'COPY': 59,
'COPY_FREE_VARS': 60,
'DELETE_ATTR': 61,
'DELETE_DEREF': 62,
'DELETE_FAST': 63,
'DELETE_GLOBAL': 64,
'DELETE_NAME': 65,
'DICT_MERGE': 66,
'DICT_UPDATE': 67,
'EXTENDED_ARG': 68,
'FOR_ITER': 69,
'GET_AWAITABLE': 70,
'IMPORT_FROM': 71,
'IMPORT_NAME': 72,
'IS_OP': 73,
'JUMP_BACKWARD': 74,
'JUMP_BACKWARD_NO_INTERRUPT': 75,
'JUMP_FORWARD': 76,
'LIST_APPEND': 77,
'LIST_EXTEND': 78,
'LOAD_ATTR': 79,
'LOAD_COMMON_CONSTANT': 80,
'LOAD_CONST': 81,
'LOAD_DEREF': 82,
'LOAD_FAST': 83,
'LOAD_FAST_AND_CLEAR': 84,
'LOAD_FAST_CHECK': 85,
'LOAD_FAST_LOAD_FAST': 86,
'LOAD_FROM_DICT_OR_DEREF': 87,
'LOAD_FROM_DICT_OR_GLOBALS': 88,
'LOAD_GLOBAL': 89,
'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,
@ -350,5 +352,5 @@ opmap = {
'STORE_FAST_MAYBE_NULL': 265,
}
HAVE_ARGUMENT = 42
MIN_INSTRUMENTED_OPCODE = 236
HAVE_ARGUMENT = 43
MIN_INSTRUMENTED_OPCODE = 235