mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
GH-128375: Better instrument for FOR_ITER
(GH-128445)
This commit is contained in:
parent
b9c693dcca
commit
f826beca0c
27 changed files with 827 additions and 544 deletions
182
Lib/_opcode_metadata.py
generated
182
Lib/_opcode_metadata.py
generated
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue