mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	GH-91095: Specialize calls to normal Python classes. (GH-99331)
This commit is contained in:
		
							parent
							
								
									c01da2896a
								
							
						
					
					
						commit
						04492cbc9a
					
				
					 20 changed files with 511 additions and 189 deletions
				
			
		
							
								
								
									
										42
									
								
								Python/opcode_targets.h
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										42
									
								
								Python/opcode_targets.h
									
										
									
										generated
									
									
									
								
							|  | @ -15,39 +15,39 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_BINARY_OP_ADD_FLOAT, | ||||
|     &&TARGET_BINARY_OP_SUBTRACT_FLOAT, | ||||
|     &&TARGET_UNARY_INVERT, | ||||
|     &&TARGET_BINARY_OP_ADD_UNICODE, | ||||
|     &&TARGET_EXIT_INIT_CHECK, | ||||
|     &&TARGET_RESERVED, | ||||
|     &&TARGET_BINARY_OP_ADD_UNICODE, | ||||
|     &&TARGET_BINARY_OP_INPLACE_ADD_UNICODE, | ||||
|     &&TARGET_BINARY_SUBSCR_DICT, | ||||
|     &&TARGET_BINARY_SUBSCR_GETITEM, | ||||
|     &&TARGET_BINARY_SUBSCR_LIST_INT, | ||||
|     &&TARGET_BINARY_SUBSCR_TUPLE_INT, | ||||
|     &&TARGET_STORE_SUBSCR_DICT, | ||||
|     &&TARGET_MAKE_FUNCTION, | ||||
|     &&TARGET_BINARY_SUBSCR, | ||||
|     &&TARGET_BINARY_SLICE, | ||||
|     &&TARGET_STORE_SLICE, | ||||
|     &&TARGET_STORE_SUBSCR_DICT, | ||||
|     &&TARGET_STORE_SUBSCR_LIST_INT, | ||||
|     &&TARGET_SEND_GEN, | ||||
|     &&TARGET_GET_LEN, | ||||
|     &&TARGET_MATCH_MAPPING, | ||||
|     &&TARGET_MATCH_SEQUENCE, | ||||
|     &&TARGET_MATCH_KEYS, | ||||
|     &&TARGET_UNPACK_SEQUENCE_TWO_TUPLE, | ||||
|     &&TARGET_SEND_GEN, | ||||
|     &&TARGET_PUSH_EXC_INFO, | ||||
|     &&TARGET_CHECK_EXC_MATCH, | ||||
|     &&TARGET_CHECK_EG_MATCH, | ||||
|     &&TARGET_UNPACK_SEQUENCE_TWO_TUPLE, | ||||
|     &&TARGET_UNPACK_SEQUENCE_TUPLE, | ||||
|     &&TARGET_UNPACK_SEQUENCE_LIST, | ||||
|     &&TARGET_FORMAT_SIMPLE, | ||||
|     &&TARGET_FORMAT_WITH_SPEC, | ||||
|     &&TARGET_UNPACK_SEQUENCE_LIST, | ||||
|     &&TARGET_STORE_ATTR_INSTANCE_VALUE, | ||||
|     &&TARGET_STORE_ATTR_SLOT, | ||||
|     &&TARGET_STORE_ATTR_WITH_HINT, | ||||
|     &&TARGET_LOAD_GLOBAL_MODULE, | ||||
|     &&TARGET_LOAD_GLOBAL_BUILTIN, | ||||
|     &&TARGET_LOAD_SUPER_ATTR_ATTR, | ||||
|     &&TARGET_LOAD_SUPER_ATTR_METHOD, | ||||
|     &&TARGET_WITH_EXCEPT_START, | ||||
|     &&TARGET_GET_AITER, | ||||
|     &&TARGET_GET_ANEXT, | ||||
|  | @ -55,39 +55,39 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_BEFORE_WITH, | ||||
|     &&TARGET_END_ASYNC_FOR, | ||||
|     &&TARGET_CLEANUP_THROW, | ||||
|     &&TARGET_LOAD_SUPER_ATTR_METHOD, | ||||
|     &&TARGET_LOAD_ATTR_INSTANCE_VALUE, | ||||
|     &&TARGET_LOAD_ATTR_MODULE, | ||||
|     &&TARGET_LOAD_ATTR_WITH_HINT, | ||||
|     &&TARGET_LOAD_ATTR_SLOT, | ||||
|     &&TARGET_STORE_SUBSCR, | ||||
|     &&TARGET_DELETE_SUBSCR, | ||||
|     &&TARGET_LOAD_ATTR_SLOT, | ||||
|     &&TARGET_LOAD_ATTR_CLASS, | ||||
|     &&TARGET_LOAD_ATTR_PROPERTY, | ||||
|     &&TARGET_LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN, | ||||
|     &&TARGET_LOAD_ATTR_METHOD_WITH_VALUES, | ||||
|     &&TARGET_LOAD_ATTR_METHOD_NO_DICT, | ||||
|     &&TARGET_LOAD_ATTR_METHOD_LAZY_DICT, | ||||
|     &&TARGET_GET_ITER, | ||||
|     &&TARGET_GET_YIELD_FROM_ITER, | ||||
|     &&TARGET_COMPARE_OP_FLOAT, | ||||
|     &&TARGET_LOAD_ATTR_METHOD_LAZY_DICT, | ||||
|     &&TARGET_LOAD_BUILD_CLASS, | ||||
|     &&TARGET_COMPARE_OP_FLOAT, | ||||
|     &&TARGET_COMPARE_OP_INT, | ||||
|     &&TARGET_COMPARE_OP_STR, | ||||
|     &&TARGET_LOAD_ASSERTION_ERROR, | ||||
|     &&TARGET_RETURN_GENERATOR, | ||||
|     &&TARGET_COMPARE_OP_STR, | ||||
|     &&TARGET_FOR_ITER_LIST, | ||||
|     &&TARGET_FOR_ITER_TUPLE, | ||||
|     &&TARGET_FOR_ITER_RANGE, | ||||
|     &&TARGET_FOR_ITER_GEN, | ||||
|     &&TARGET_CALL_BOUND_METHOD_EXACT_ARGS, | ||||
|     &&TARGET_CALL_PY_EXACT_ARGS, | ||||
|     &&TARGET_CALL_PY_WITH_DEFAULTS, | ||||
|     &&TARGET_RETURN_VALUE, | ||||
|     &&TARGET_CALL_NO_KW_TYPE_1, | ||||
|     &&TARGET_CALL_PY_WITH_DEFAULTS, | ||||
|     &&TARGET_SETUP_ANNOTATIONS, | ||||
|     &&TARGET_CALL_NO_KW_STR_1, | ||||
|     &&TARGET_CALL_NO_KW_TYPE_1, | ||||
|     &&TARGET_LOAD_LOCALS, | ||||
|     &&TARGET_CALL_NO_KW_TUPLE_1, | ||||
|     &&TARGET_CALL_NO_KW_STR_1, | ||||
|     &&TARGET_POP_EXCEPT, | ||||
|     &&TARGET_STORE_NAME, | ||||
|     &&TARGET_DELETE_NAME, | ||||
|  | @ -110,9 +110,9 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_IMPORT_NAME, | ||||
|     &&TARGET_IMPORT_FROM, | ||||
|     &&TARGET_JUMP_FORWARD, | ||||
|     &&TARGET_CALL_NO_KW_TUPLE_1, | ||||
|     &&TARGET_CALL_BUILTIN_CLASS, | ||||
|     &&TARGET_CALL_NO_KW_BUILTIN_O, | ||||
|     &&TARGET_CALL_NO_KW_BUILTIN_FAST, | ||||
|     &&TARGET_POP_JUMP_IF_FALSE, | ||||
|     &&TARGET_POP_JUMP_IF_TRUE, | ||||
|     &&TARGET_LOAD_GLOBAL, | ||||
|  | @ -131,7 +131,7 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_POP_JUMP_IF_NONE, | ||||
|     &&TARGET_RAISE_VARARGS, | ||||
|     &&TARGET_GET_AWAITABLE, | ||||
|     &&TARGET_CALL_BUILTIN_FAST_WITH_KEYWORDS, | ||||
|     &&TARGET_CALL_NO_KW_BUILTIN_FAST, | ||||
|     &&TARGET_BUILD_SLICE, | ||||
|     &&TARGET_JUMP_BACKWARD_NO_INTERRUPT, | ||||
|     &&TARGET_MAKE_CELL, | ||||
|  | @ -147,26 +147,26 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_LIST_APPEND, | ||||
|     &&TARGET_SET_ADD, | ||||
|     &&TARGET_MAP_ADD, | ||||
|     &&TARGET_CALL_NO_KW_LEN, | ||||
|     &&TARGET_CALL_BUILTIN_FAST_WITH_KEYWORDS, | ||||
|     &&TARGET_COPY_FREE_VARS, | ||||
|     &&TARGET_YIELD_VALUE, | ||||
|     &&TARGET_RESUME, | ||||
|     &&TARGET_MATCH_CLASS, | ||||
|     &&TARGET_CALL_NO_KW_LEN, | ||||
|     &&TARGET_CALL_NO_KW_ISINSTANCE, | ||||
|     &&TARGET_CALL_NO_KW_LIST_APPEND, | ||||
|     &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_O, | ||||
|     &&TARGET_BUILD_CONST_KEY_MAP, | ||||
|     &&TARGET_BUILD_STRING, | ||||
|     &&TARGET_CONVERT_VALUE, | ||||
|     &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_O, | ||||
|     &&TARGET_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS, | ||||
|     &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS, | ||||
|     &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_FAST, | ||||
|     &&TARGET_LIST_EXTEND, | ||||
|     &&TARGET_SET_UPDATE, | ||||
|     &&TARGET_DICT_MERGE, | ||||
|     &&TARGET_DICT_UPDATE, | ||||
|     &&_unknown_opcode, | ||||
|     &&_unknown_opcode, | ||||
|     &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_FAST, | ||||
|     &&TARGET_CALL_NO_KW_ALLOC_AND_ENTER_INIT, | ||||
|     &&TARGET_LOAD_FAST_LOAD_FAST, | ||||
|     &&TARGET_STORE_FAST_LOAD_FAST, | ||||
|     &&TARGET_STORE_FAST_STORE_FAST, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Mark Shannon
						Mark Shannon