gh-111354: Simplify _PyGen_yf by moving some of its work to the compiler and frame state (#111648)

This commit is contained in:
Irit Katriel 2023-11-03 10:01:36 +00:00 committed by GitHub
parent 7810b6981a
commit d49aba5a7a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 342 additions and 338 deletions

150
Lib/_opcode_metadata.py generated
View file

@ -224,80 +224,80 @@ opmap = {
'UNARY_NEGATIVE': 42,
'UNARY_NOT': 43,
'WITH_EXCEPT_START': 44,
'YIELD_VALUE': 45,
'BINARY_OP': 46,
'BUILD_CONST_KEY_MAP': 47,
'BUILD_LIST': 48,
'BUILD_MAP': 49,
'BUILD_SET': 50,
'BUILD_SLICE': 51,
'BUILD_STRING': 52,
'BUILD_TUPLE': 53,
'CALL': 54,
'CALL_FUNCTION_EX': 55,
'CALL_INTRINSIC_1': 56,
'CALL_INTRINSIC_2': 57,
'CALL_KW': 58,
'COMPARE_OP': 59,
'CONTAINS_OP': 60,
'CONVERT_VALUE': 61,
'COPY': 62,
'COPY_FREE_VARS': 63,
'DELETE_ATTR': 64,
'DELETE_DEREF': 65,
'DELETE_FAST': 66,
'DELETE_GLOBAL': 67,
'DELETE_NAME': 68,
'DICT_MERGE': 69,
'DICT_UPDATE': 70,
'ENTER_EXECUTOR': 71,
'EXTENDED_ARG': 72,
'FOR_ITER': 73,
'GET_AWAITABLE': 74,
'IMPORT_FROM': 75,
'IMPORT_NAME': 76,
'IS_OP': 77,
'JUMP_BACKWARD': 78,
'JUMP_BACKWARD_NO_INTERRUPT': 79,
'JUMP_FORWARD': 80,
'LIST_APPEND': 81,
'LIST_EXTEND': 82,
'LOAD_ATTR': 83,
'LOAD_CONST': 84,
'LOAD_DEREF': 85,
'LOAD_FAST': 86,
'LOAD_FAST_AND_CLEAR': 87,
'LOAD_FAST_CHECK': 88,
'LOAD_FAST_LOAD_FAST': 89,
'LOAD_FROM_DICT_OR_DEREF': 90,
'LOAD_FROM_DICT_OR_GLOBALS': 91,
'LOAD_GLOBAL': 92,
'LOAD_NAME': 93,
'LOAD_SUPER_ATTR': 94,
'MAKE_CELL': 95,
'MAP_ADD': 96,
'MATCH_CLASS': 97,
'POP_JUMP_IF_FALSE': 98,
'POP_JUMP_IF_NONE': 99,
'POP_JUMP_IF_NOT_NONE': 100,
'POP_JUMP_IF_TRUE': 101,
'RAISE_VARARGS': 102,
'RERAISE': 103,
'RETURN_CONST': 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,
'BINARY_OP': 45,
'BUILD_CONST_KEY_MAP': 46,
'BUILD_LIST': 47,
'BUILD_MAP': 48,
'BUILD_SET': 49,
'BUILD_SLICE': 50,
'BUILD_STRING': 51,
'BUILD_TUPLE': 52,
'CALL': 53,
'CALL_FUNCTION_EX': 54,
'CALL_INTRINSIC_1': 55,
'CALL_INTRINSIC_2': 56,
'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,
'LOAD_CONST': 83,
'LOAD_DEREF': 84,
'LOAD_FAST': 85,
'LOAD_FAST_AND_CLEAR': 86,
'LOAD_FAST_CHECK': 87,
'LOAD_FAST_LOAD_FAST': 88,
'LOAD_FROM_DICT_OR_DEREF': 89,
'LOAD_FROM_DICT_OR_GLOBALS': 90,
'LOAD_GLOBAL': 91,
'LOAD_NAME': 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,
'RETURN_CONST': 103,
'SEND': 104,
'SET_ADD': 105,
'SET_FUNCTION_ATTRIBUTE': 106,
'SET_UPDATE': 107,
'STORE_ATTR': 108,
'STORE_DEREF': 109,
'STORE_FAST': 110,
'STORE_FAST_LOAD_FAST': 111,
'STORE_FAST_STORE_FAST': 112,
'STORE_GLOBAL': 113,
'STORE_NAME': 114,
'SWAP': 115,
'UNPACK_EX': 116,
'UNPACK_SEQUENCE': 117,
'YIELD_VALUE': 118,
'RESUME': 149,
'INSTRUMENTED_RESUME': 236,
'INSTRUMENTED_END_FOR': 237,
@ -332,4 +332,4 @@ opmap = {
'STORE_FAST_MAYBE_NULL': 267,
}
MIN_INSTRUMENTED_OPCODE = 236
HAVE_ARGUMENT = 46
HAVE_ARGUMENT = 45