mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	gh-109256: allocate opcode IDs for internal opcodes in their own range (#109269)
This commit is contained in:
		
							parent
							
								
									247ee1bf84
								
							
						
					
					
						commit
						8b55adfa8f
					
				
					 11 changed files with 778 additions and 763 deletions
				
			
		|  | @ -1611,8 +1611,8 @@ iterations of the loop. | |||
|    opcodes in the range [0,255] which don't use their argument and those | ||||
|    that do (``< HAVE_ARGUMENT`` and ``>= HAVE_ARGUMENT``, respectively). | ||||
| 
 | ||||
|    If your application uses pseudo instructions, use the :data:`hasarg` | ||||
|    collection instead. | ||||
|    If your application uses pseudo instructions or specialized instructions, | ||||
|    use the :data:`hasarg` collection instead. | ||||
| 
 | ||||
|    .. versionchanged:: 3.6 | ||||
|       Now every instruction has an argument, but opcodes ``< HAVE_ARGUMENT`` | ||||
|  |  | |||
							
								
								
									
										236
									
								
								Include/internal/pycore_opcode_metadata.h
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										236
									
								
								Include/internal/pycore_opcode_metadata.h
									
										
									
										generated
									
									
									
								
							|  | @ -1664,21 +1664,9 @@ const char *const _PyOpcode_OpName[268] = { | |||
|     [RESUME] = "RESUME", | ||||
|     [BEFORE_ASYNC_WITH] = "BEFORE_ASYNC_WITH", | ||||
|     [BEFORE_WITH] = "BEFORE_WITH", | ||||
|     [BINARY_OP_ADD_FLOAT] = "BINARY_OP_ADD_FLOAT", | ||||
|     [BINARY_OP_ADD_INT] = "BINARY_OP_ADD_INT", | ||||
|     [BINARY_OP_ADD_UNICODE] = "BINARY_OP_ADD_UNICODE", | ||||
|     [BINARY_OP_INPLACE_ADD_UNICODE] = "BINARY_OP_INPLACE_ADD_UNICODE", | ||||
|     [BINARY_OP_MULTIPLY_FLOAT] = "BINARY_OP_MULTIPLY_FLOAT", | ||||
|     [BINARY_OP_MULTIPLY_INT] = "BINARY_OP_MULTIPLY_INT", | ||||
|     [BINARY_OP_SUBTRACT_FLOAT] = "BINARY_OP_SUBTRACT_FLOAT", | ||||
|     [BINARY_OP_SUBTRACT_INT] = "BINARY_OP_SUBTRACT_INT", | ||||
|     [BINARY_SLICE] = "BINARY_SLICE", | ||||
|     [BINARY_SUBSCR] = "BINARY_SUBSCR", | ||||
|     [BINARY_SUBSCR_DICT] = "BINARY_SUBSCR_DICT", | ||||
|     [BINARY_SUBSCR_GETITEM] = "BINARY_SUBSCR_GETITEM", | ||||
|     [BINARY_SUBSCR_LIST_INT] = "BINARY_SUBSCR_LIST_INT", | ||||
|     [BINARY_SUBSCR_STR_INT] = "BINARY_SUBSCR_STR_INT", | ||||
|     [BINARY_SUBSCR_TUPLE_INT] = "BINARY_SUBSCR_TUPLE_INT", | ||||
|     [CHECK_EG_MATCH] = "CHECK_EG_MATCH", | ||||
|     [CHECK_EXC_MATCH] = "CHECK_EXC_MATCH", | ||||
|     [CLEANUP_THROW] = "CLEANUP_THROW", | ||||
|  | @ -1707,23 +1695,12 @@ const char *const _PyOpcode_OpName[268] = { | |||
|     [POP_TOP] = "POP_TOP", | ||||
|     [PUSH_EXC_INFO] = "PUSH_EXC_INFO", | ||||
|     [PUSH_NULL] = "PUSH_NULL", | ||||
|     [RESUME_CHECK] = "RESUME_CHECK", | ||||
|     [RETURN_GENERATOR] = "RETURN_GENERATOR", | ||||
|     [RETURN_VALUE] = "RETURN_VALUE", | ||||
|     [SETUP_ANNOTATIONS] = "SETUP_ANNOTATIONS", | ||||
|     [STORE_ATTR_INSTANCE_VALUE] = "STORE_ATTR_INSTANCE_VALUE", | ||||
|     [STORE_ATTR_SLOT] = "STORE_ATTR_SLOT", | ||||
|     [STORE_SLICE] = "STORE_SLICE", | ||||
|     [STORE_SUBSCR] = "STORE_SUBSCR", | ||||
|     [STORE_SUBSCR_DICT] = "STORE_SUBSCR_DICT", | ||||
|     [STORE_SUBSCR_LIST_INT] = "STORE_SUBSCR_LIST_INT", | ||||
|     [TO_BOOL] = "TO_BOOL", | ||||
|     [TO_BOOL_ALWAYS_TRUE] = "TO_BOOL_ALWAYS_TRUE", | ||||
|     [TO_BOOL_BOOL] = "TO_BOOL_BOOL", | ||||
|     [TO_BOOL_INT] = "TO_BOOL_INT", | ||||
|     [TO_BOOL_LIST] = "TO_BOOL_LIST", | ||||
|     [TO_BOOL_NONE] = "TO_BOOL_NONE", | ||||
|     [TO_BOOL_STR] = "TO_BOOL_STR", | ||||
|     [UNARY_INVERT] = "UNARY_INVERT", | ||||
|     [UNARY_NEGATIVE] = "UNARY_NEGATIVE", | ||||
|     [UNARY_NOT] = "UNARY_NOT", | ||||
|  | @ -1737,12 +1714,86 @@ const char *const _PyOpcode_OpName[268] = { | |||
|     [BUILD_STRING] = "BUILD_STRING", | ||||
|     [BUILD_TUPLE] = "BUILD_TUPLE", | ||||
|     [CALL] = "CALL", | ||||
|     [CALL_BOUND_METHOD_EXACT_ARGS] = "CALL_BOUND_METHOD_EXACT_ARGS", | ||||
|     [CALL_BUILTIN_CLASS] = "CALL_BUILTIN_CLASS", | ||||
|     [CALL_BUILTIN_FAST_WITH_KEYWORDS] = "CALL_BUILTIN_FAST_WITH_KEYWORDS", | ||||
|     [CALL_FUNCTION_EX] = "CALL_FUNCTION_EX", | ||||
|     [CALL_INTRINSIC_1] = "CALL_INTRINSIC_1", | ||||
|     [CALL_INTRINSIC_2] = "CALL_INTRINSIC_2", | ||||
|     [COMPARE_OP] = "COMPARE_OP", | ||||
|     [CONTAINS_OP] = "CONTAINS_OP", | ||||
|     [CONVERT_VALUE] = "CONVERT_VALUE", | ||||
|     [COPY] = "COPY", | ||||
|     [COPY_FREE_VARS] = "COPY_FREE_VARS", | ||||
|     [DELETE_ATTR] = "DELETE_ATTR", | ||||
|     [DELETE_DEREF] = "DELETE_DEREF", | ||||
|     [DELETE_FAST] = "DELETE_FAST", | ||||
|     [DELETE_GLOBAL] = "DELETE_GLOBAL", | ||||
|     [DELETE_NAME] = "DELETE_NAME", | ||||
|     [DICT_MERGE] = "DICT_MERGE", | ||||
|     [DICT_UPDATE] = "DICT_UPDATE", | ||||
|     [ENTER_EXECUTOR] = "ENTER_EXECUTOR", | ||||
|     [EXTENDED_ARG] = "EXTENDED_ARG", | ||||
|     [FOR_ITER] = "FOR_ITER", | ||||
|     [GET_AWAITABLE] = "GET_AWAITABLE", | ||||
|     [IMPORT_FROM] = "IMPORT_FROM", | ||||
|     [IMPORT_NAME] = "IMPORT_NAME", | ||||
|     [IS_OP] = "IS_OP", | ||||
|     [JUMP_BACKWARD] = "JUMP_BACKWARD", | ||||
|     [JUMP_BACKWARD_NO_INTERRUPT] = "JUMP_BACKWARD_NO_INTERRUPT", | ||||
|     [JUMP_FORWARD] = "JUMP_FORWARD", | ||||
|     [KW_NAMES] = "KW_NAMES", | ||||
|     [LIST_APPEND] = "LIST_APPEND", | ||||
|     [LIST_EXTEND] = "LIST_EXTEND", | ||||
|     [LOAD_ATTR] = "LOAD_ATTR", | ||||
|     [LOAD_CONST] = "LOAD_CONST", | ||||
|     [LOAD_DEREF] = "LOAD_DEREF", | ||||
|     [LOAD_FAST] = "LOAD_FAST", | ||||
|     [LOAD_FAST_AND_CLEAR] = "LOAD_FAST_AND_CLEAR", | ||||
|     [LOAD_FAST_CHECK] = "LOAD_FAST_CHECK", | ||||
|     [LOAD_FAST_LOAD_FAST] = "LOAD_FAST_LOAD_FAST", | ||||
|     [LOAD_FROM_DICT_OR_DEREF] = "LOAD_FROM_DICT_OR_DEREF", | ||||
|     [LOAD_FROM_DICT_OR_GLOBALS] = "LOAD_FROM_DICT_OR_GLOBALS", | ||||
|     [LOAD_GLOBAL] = "LOAD_GLOBAL", | ||||
|     [LOAD_NAME] = "LOAD_NAME", | ||||
|     [LOAD_SUPER_ATTR] = "LOAD_SUPER_ATTR", | ||||
|     [MAKE_CELL] = "MAKE_CELL", | ||||
|     [MAP_ADD] = "MAP_ADD", | ||||
|     [MATCH_CLASS] = "MATCH_CLASS", | ||||
|     [POP_JUMP_IF_FALSE] = "POP_JUMP_IF_FALSE", | ||||
|     [POP_JUMP_IF_NONE] = "POP_JUMP_IF_NONE", | ||||
|     [POP_JUMP_IF_NOT_NONE] = "POP_JUMP_IF_NOT_NONE", | ||||
|     [POP_JUMP_IF_TRUE] = "POP_JUMP_IF_TRUE", | ||||
|     [RAISE_VARARGS] = "RAISE_VARARGS", | ||||
|     [RERAISE] = "RERAISE", | ||||
|     [RETURN_CONST] = "RETURN_CONST", | ||||
|     [SEND] = "SEND", | ||||
|     [SET_ADD] = "SET_ADD", | ||||
|     [SET_FUNCTION_ATTRIBUTE] = "SET_FUNCTION_ATTRIBUTE", | ||||
|     [SET_UPDATE] = "SET_UPDATE", | ||||
|     [STORE_ATTR] = "STORE_ATTR", | ||||
|     [STORE_DEREF] = "STORE_DEREF", | ||||
|     [STORE_FAST] = "STORE_FAST", | ||||
|     [STORE_FAST_LOAD_FAST] = "STORE_FAST_LOAD_FAST", | ||||
|     [STORE_FAST_STORE_FAST] = "STORE_FAST_STORE_FAST", | ||||
|     [STORE_GLOBAL] = "STORE_GLOBAL", | ||||
|     [STORE_NAME] = "STORE_NAME", | ||||
|     [SWAP] = "SWAP", | ||||
|     [UNPACK_EX] = "UNPACK_EX", | ||||
|     [UNPACK_SEQUENCE] = "UNPACK_SEQUENCE", | ||||
|     [YIELD_VALUE] = "YIELD_VALUE", | ||||
|     [BINARY_OP_ADD_FLOAT] = "BINARY_OP_ADD_FLOAT", | ||||
|     [BINARY_OP_ADD_INT] = "BINARY_OP_ADD_INT", | ||||
|     [BINARY_OP_ADD_UNICODE] = "BINARY_OP_ADD_UNICODE", | ||||
|     [BINARY_OP_MULTIPLY_FLOAT] = "BINARY_OP_MULTIPLY_FLOAT", | ||||
|     [BINARY_OP_MULTIPLY_INT] = "BINARY_OP_MULTIPLY_INT", | ||||
|     [BINARY_OP_SUBTRACT_FLOAT] = "BINARY_OP_SUBTRACT_FLOAT", | ||||
|     [BINARY_OP_SUBTRACT_INT] = "BINARY_OP_SUBTRACT_INT", | ||||
|     [BINARY_SUBSCR_DICT] = "BINARY_SUBSCR_DICT", | ||||
|     [BINARY_SUBSCR_GETITEM] = "BINARY_SUBSCR_GETITEM", | ||||
|     [BINARY_SUBSCR_LIST_INT] = "BINARY_SUBSCR_LIST_INT", | ||||
|     [BINARY_SUBSCR_STR_INT] = "BINARY_SUBSCR_STR_INT", | ||||
|     [BINARY_SUBSCR_TUPLE_INT] = "BINARY_SUBSCR_TUPLE_INT", | ||||
|     [CALL_BOUND_METHOD_EXACT_ARGS] = "CALL_BOUND_METHOD_EXACT_ARGS", | ||||
|     [CALL_BUILTIN_CLASS] = "CALL_BUILTIN_CLASS", | ||||
|     [CALL_BUILTIN_FAST_WITH_KEYWORDS] = "CALL_BUILTIN_FAST_WITH_KEYWORDS", | ||||
|     [CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = "CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS", | ||||
|     [CALL_NO_KW_ALLOC_AND_ENTER_INIT] = "CALL_NO_KW_ALLOC_AND_ENTER_INIT", | ||||
|     [CALL_NO_KW_BUILTIN_FAST] = "CALL_NO_KW_BUILTIN_FAST", | ||||
|  | @ -1758,39 +1809,13 @@ const char *const _PyOpcode_OpName[268] = { | |||
|     [CALL_NO_KW_TYPE_1] = "CALL_NO_KW_TYPE_1", | ||||
|     [CALL_PY_EXACT_ARGS] = "CALL_PY_EXACT_ARGS", | ||||
|     [CALL_PY_WITH_DEFAULTS] = "CALL_PY_WITH_DEFAULTS", | ||||
|     [COMPARE_OP] = "COMPARE_OP", | ||||
|     [COMPARE_OP_FLOAT] = "COMPARE_OP_FLOAT", | ||||
|     [COMPARE_OP_INT] = "COMPARE_OP_INT", | ||||
|     [COMPARE_OP_STR] = "COMPARE_OP_STR", | ||||
|     [CONTAINS_OP] = "CONTAINS_OP", | ||||
|     [CONVERT_VALUE] = "CONVERT_VALUE", | ||||
|     [COPY] = "COPY", | ||||
|     [COPY_FREE_VARS] = "COPY_FREE_VARS", | ||||
|     [DELETE_ATTR] = "DELETE_ATTR", | ||||
|     [DELETE_DEREF] = "DELETE_DEREF", | ||||
|     [DELETE_FAST] = "DELETE_FAST", | ||||
|     [DELETE_GLOBAL] = "DELETE_GLOBAL", | ||||
|     [DELETE_NAME] = "DELETE_NAME", | ||||
|     [DICT_MERGE] = "DICT_MERGE", | ||||
|     [DICT_UPDATE] = "DICT_UPDATE", | ||||
|     [ENTER_EXECUTOR] = "ENTER_EXECUTOR", | ||||
|     [EXTENDED_ARG] = "EXTENDED_ARG", | ||||
|     [FOR_ITER] = "FOR_ITER", | ||||
|     [FOR_ITER_GEN] = "FOR_ITER_GEN", | ||||
|     [FOR_ITER_LIST] = "FOR_ITER_LIST", | ||||
|     [FOR_ITER_RANGE] = "FOR_ITER_RANGE", | ||||
|     [FOR_ITER_TUPLE] = "FOR_ITER_TUPLE", | ||||
|     [GET_AWAITABLE] = "GET_AWAITABLE", | ||||
|     [IMPORT_FROM] = "IMPORT_FROM", | ||||
|     [IMPORT_NAME] = "IMPORT_NAME", | ||||
|     [IS_OP] = "IS_OP", | ||||
|     [JUMP_BACKWARD] = "JUMP_BACKWARD", | ||||
|     [JUMP_BACKWARD_NO_INTERRUPT] = "JUMP_BACKWARD_NO_INTERRUPT", | ||||
|     [JUMP_FORWARD] = "JUMP_FORWARD", | ||||
|     [KW_NAMES] = "KW_NAMES", | ||||
|     [LIST_APPEND] = "LIST_APPEND", | ||||
|     [LIST_EXTEND] = "LIST_EXTEND", | ||||
|     [LOAD_ATTR] = "LOAD_ATTR", | ||||
|     [LOAD_ATTR_CLASS] = "LOAD_ATTR_CLASS", | ||||
|     [LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN] = "LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN", | ||||
|     [LOAD_ATTR_INSTANCE_VALUE] = "LOAD_ATTR_INSTANCE_VALUE", | ||||
|  | @ -1803,51 +1828,26 @@ const char *const _PyOpcode_OpName[268] = { | |||
|     [LOAD_ATTR_PROPERTY] = "LOAD_ATTR_PROPERTY", | ||||
|     [LOAD_ATTR_SLOT] = "LOAD_ATTR_SLOT", | ||||
|     [LOAD_ATTR_WITH_HINT] = "LOAD_ATTR_WITH_HINT", | ||||
|     [LOAD_CONST] = "LOAD_CONST", | ||||
|     [LOAD_DEREF] = "LOAD_DEREF", | ||||
|     [LOAD_FAST] = "LOAD_FAST", | ||||
|     [LOAD_FAST_AND_CLEAR] = "LOAD_FAST_AND_CLEAR", | ||||
|     [LOAD_FAST_CHECK] = "LOAD_FAST_CHECK", | ||||
|     [LOAD_FAST_LOAD_FAST] = "LOAD_FAST_LOAD_FAST", | ||||
|     [LOAD_FROM_DICT_OR_DEREF] = "LOAD_FROM_DICT_OR_DEREF", | ||||
|     [LOAD_FROM_DICT_OR_GLOBALS] = "LOAD_FROM_DICT_OR_GLOBALS", | ||||
|     [LOAD_GLOBAL] = "LOAD_GLOBAL", | ||||
|     [LOAD_GLOBAL_BUILTIN] = "LOAD_GLOBAL_BUILTIN", | ||||
|     [LOAD_GLOBAL_MODULE] = "LOAD_GLOBAL_MODULE", | ||||
|     [LOAD_NAME] = "LOAD_NAME", | ||||
|     [LOAD_SUPER_ATTR] = "LOAD_SUPER_ATTR", | ||||
|     [LOAD_SUPER_ATTR_ATTR] = "LOAD_SUPER_ATTR_ATTR", | ||||
|     [LOAD_SUPER_ATTR_METHOD] = "LOAD_SUPER_ATTR_METHOD", | ||||
|     [MAKE_CELL] = "MAKE_CELL", | ||||
|     [MAP_ADD] = "MAP_ADD", | ||||
|     [MATCH_CLASS] = "MATCH_CLASS", | ||||
|     [POP_JUMP_IF_FALSE] = "POP_JUMP_IF_FALSE", | ||||
|     [POP_JUMP_IF_NONE] = "POP_JUMP_IF_NONE", | ||||
|     [POP_JUMP_IF_NOT_NONE] = "POP_JUMP_IF_NOT_NONE", | ||||
|     [POP_JUMP_IF_TRUE] = "POP_JUMP_IF_TRUE", | ||||
|     [RAISE_VARARGS] = "RAISE_VARARGS", | ||||
|     [RERAISE] = "RERAISE", | ||||
|     [RETURN_CONST] = "RETURN_CONST", | ||||
|     [SEND] = "SEND", | ||||
|     [RESUME_CHECK] = "RESUME_CHECK", | ||||
|     [SEND_GEN] = "SEND_GEN", | ||||
|     [SET_ADD] = "SET_ADD", | ||||
|     [SET_FUNCTION_ATTRIBUTE] = "SET_FUNCTION_ATTRIBUTE", | ||||
|     [SET_UPDATE] = "SET_UPDATE", | ||||
|     [STORE_ATTR] = "STORE_ATTR", | ||||
|     [STORE_ATTR_INSTANCE_VALUE] = "STORE_ATTR_INSTANCE_VALUE", | ||||
|     [STORE_ATTR_SLOT] = "STORE_ATTR_SLOT", | ||||
|     [STORE_ATTR_WITH_HINT] = "STORE_ATTR_WITH_HINT", | ||||
|     [STORE_DEREF] = "STORE_DEREF", | ||||
|     [STORE_FAST] = "STORE_FAST", | ||||
|     [STORE_FAST_LOAD_FAST] = "STORE_FAST_LOAD_FAST", | ||||
|     [STORE_FAST_STORE_FAST] = "STORE_FAST_STORE_FAST", | ||||
|     [STORE_GLOBAL] = "STORE_GLOBAL", | ||||
|     [STORE_NAME] = "STORE_NAME", | ||||
|     [SWAP] = "SWAP", | ||||
|     [UNPACK_EX] = "UNPACK_EX", | ||||
|     [UNPACK_SEQUENCE] = "UNPACK_SEQUENCE", | ||||
|     [STORE_SUBSCR_DICT] = "STORE_SUBSCR_DICT", | ||||
|     [STORE_SUBSCR_LIST_INT] = "STORE_SUBSCR_LIST_INT", | ||||
|     [TO_BOOL_ALWAYS_TRUE] = "TO_BOOL_ALWAYS_TRUE", | ||||
|     [TO_BOOL_BOOL] = "TO_BOOL_BOOL", | ||||
|     [TO_BOOL_INT] = "TO_BOOL_INT", | ||||
|     [TO_BOOL_LIST] = "TO_BOOL_LIST", | ||||
|     [TO_BOOL_NONE] = "TO_BOOL_NONE", | ||||
|     [TO_BOOL_STR] = "TO_BOOL_STR", | ||||
|     [UNPACK_SEQUENCE_LIST] = "UNPACK_SEQUENCE_LIST", | ||||
|     [UNPACK_SEQUENCE_TUPLE] = "UNPACK_SEQUENCE_TUPLE", | ||||
|     [UNPACK_SEQUENCE_TWO_TUPLE] = "UNPACK_SEQUENCE_TWO_TUPLE", | ||||
|     [YIELD_VALUE] = "YIELD_VALUE", | ||||
|     [INSTRUMENTED_RESUME] = "INSTRUMENTED_RESUME", | ||||
|     [INSTRUMENTED_END_FOR] = "INSTRUMENTED_END_FOR", | ||||
|     [INSTRUMENTED_END_SEND] = "INSTRUMENTED_END_SEND", | ||||
|  | @ -2119,36 +2119,36 @@ const uint8_t _PyOpcode_Deopt[256] = { | |||
| #endif // NEED_OPCODE_METADATA
 | ||||
| 
 | ||||
| #define EXTRA_CASES \ | ||||
|     case 189: \ | ||||
|     case 190: \ | ||||
|     case 191: \ | ||||
|     case 192: \ | ||||
|     case 193: \ | ||||
|     case 194: \ | ||||
|     case 195: \ | ||||
|     case 196: \ | ||||
|     case 197: \ | ||||
|     case 198: \ | ||||
|     case 199: \ | ||||
|     case 200: \ | ||||
|     case 201: \ | ||||
|     case 202: \ | ||||
|     case 203: \ | ||||
|     case 204: \ | ||||
|     case 205: \ | ||||
|     case 206: \ | ||||
|     case 207: \ | ||||
|     case 208: \ | ||||
|     case 209: \ | ||||
|     case 210: \ | ||||
|     case 211: \ | ||||
|     case 212: \ | ||||
|     case 213: \ | ||||
|     case 214: \ | ||||
|     case 215: \ | ||||
|     case 216: \ | ||||
|     case 217: \ | ||||
|     case 218: \ | ||||
|     case 119: \ | ||||
|     case 120: \ | ||||
|     case 121: \ | ||||
|     case 122: \ | ||||
|     case 123: \ | ||||
|     case 124: \ | ||||
|     case 125: \ | ||||
|     case 126: \ | ||||
|     case 127: \ | ||||
|     case 128: \ | ||||
|     case 129: \ | ||||
|     case 130: \ | ||||
|     case 131: \ | ||||
|     case 132: \ | ||||
|     case 133: \ | ||||
|     case 134: \ | ||||
|     case 135: \ | ||||
|     case 136: \ | ||||
|     case 137: \ | ||||
|     case 138: \ | ||||
|     case 139: \ | ||||
|     case 140: \ | ||||
|     case 141: \ | ||||
|     case 142: \ | ||||
|     case 143: \ | ||||
|     case 144: \ | ||||
|     case 145: \ | ||||
|     case 146: \ | ||||
|     case 147: \ | ||||
|     case 148: \ | ||||
|     case 219: \ | ||||
|     case 220: \ | ||||
|     case 221: \ | ||||
|  |  | |||
							
								
								
									
										372
									
								
								Include/opcode_ids.h
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										372
									
								
								Include/opcode_ids.h
									
										
									
										generated
									
									
									
								
							|  | @ -13,193 +13,193 @@ extern "C" { | |||
| #define CACHE                                    0 | ||||
| #define BEFORE_ASYNC_WITH                        1 | ||||
| #define BEFORE_WITH                              2 | ||||
| #define BINARY_OP_ADD_FLOAT                      3 | ||||
| #define BINARY_OP_ADD_INT                        4 | ||||
| #define BINARY_OP_ADD_UNICODE                    5 | ||||
| #define BINARY_OP_INPLACE_ADD_UNICODE            6 | ||||
| #define BINARY_OP_MULTIPLY_FLOAT                 7 | ||||
| #define BINARY_OP_MULTIPLY_INT                   8 | ||||
| #define BINARY_OP_SUBTRACT_FLOAT                 9 | ||||
| #define BINARY_OP_SUBTRACT_INT                  10 | ||||
| #define BINARY_SLICE                            11 | ||||
| #define BINARY_SUBSCR                           12 | ||||
| #define BINARY_SUBSCR_DICT                      13 | ||||
| #define BINARY_SUBSCR_GETITEM                   14 | ||||
| #define BINARY_SUBSCR_LIST_INT                  15 | ||||
| #define BINARY_SUBSCR_STR_INT                   16 | ||||
| #define BINARY_OP_INPLACE_ADD_UNICODE            3 | ||||
| #define BINARY_SLICE                             4 | ||||
| #define BINARY_SUBSCR                            5 | ||||
| #define CHECK_EG_MATCH                           6 | ||||
| #define CHECK_EXC_MATCH                          7 | ||||
| #define CLEANUP_THROW                            8 | ||||
| #define DELETE_SUBSCR                            9 | ||||
| #define END_ASYNC_FOR                           10 | ||||
| #define END_FOR                                 11 | ||||
| #define END_SEND                                12 | ||||
| #define EXIT_INIT_CHECK                         13 | ||||
| #define FORMAT_SIMPLE                           14 | ||||
| #define FORMAT_WITH_SPEC                        15 | ||||
| #define GET_AITER                               16 | ||||
| #define RESERVED                                17 | ||||
| #define BINARY_SUBSCR_TUPLE_INT                 18 | ||||
| #define CHECK_EG_MATCH                          19 | ||||
| #define CHECK_EXC_MATCH                         20 | ||||
| #define CLEANUP_THROW                           21 | ||||
| #define DELETE_SUBSCR                           22 | ||||
| #define END_ASYNC_FOR                           23 | ||||
| #define END_FOR                                 24 | ||||
| #define END_SEND                                25 | ||||
| #define EXIT_INIT_CHECK                         26 | ||||
| #define FORMAT_SIMPLE                           27 | ||||
| #define FORMAT_WITH_SPEC                        28 | ||||
| #define GET_AITER                               29 | ||||
| #define GET_ANEXT                               30 | ||||
| #define GET_ITER                                31 | ||||
| #define GET_LEN                                 32 | ||||
| #define GET_YIELD_FROM_ITER                     33 | ||||
| #define INTERPRETER_EXIT                        34 | ||||
| #define LOAD_ASSERTION_ERROR                    35 | ||||
| #define LOAD_BUILD_CLASS                        36 | ||||
| #define LOAD_LOCALS                             37 | ||||
| #define MAKE_FUNCTION                           38 | ||||
| #define MATCH_KEYS                              39 | ||||
| #define MATCH_MAPPING                           40 | ||||
| #define MATCH_SEQUENCE                          41 | ||||
| #define NOP                                     42 | ||||
| #define POP_EXCEPT                              43 | ||||
| #define POP_TOP                                 44 | ||||
| #define PUSH_EXC_INFO                           45 | ||||
| #define PUSH_NULL                               46 | ||||
| #define RESUME_CHECK                            47 | ||||
| #define RETURN_GENERATOR                        48 | ||||
| #define RETURN_VALUE                            49 | ||||
| #define SETUP_ANNOTATIONS                       50 | ||||
| #define STORE_ATTR_INSTANCE_VALUE               51 | ||||
| #define STORE_ATTR_SLOT                         52 | ||||
| #define STORE_SLICE                             53 | ||||
| #define STORE_SUBSCR                            54 | ||||
| #define STORE_SUBSCR_DICT                       55 | ||||
| #define STORE_SUBSCR_LIST_INT                   56 | ||||
| #define TO_BOOL                                 57 | ||||
| #define TO_BOOL_ALWAYS_TRUE                     58 | ||||
| #define TO_BOOL_BOOL                            59 | ||||
| #define TO_BOOL_INT                             60 | ||||
| #define TO_BOOL_LIST                            61 | ||||
| #define TO_BOOL_NONE                            62 | ||||
| #define TO_BOOL_STR                             63 | ||||
| #define UNARY_INVERT                            64 | ||||
| #define UNARY_NEGATIVE                          65 | ||||
| #define UNARY_NOT                               66 | ||||
| #define WITH_EXCEPT_START                       67 | ||||
| #define HAVE_ARGUMENT                           68 | ||||
| #define BINARY_OP                               68 | ||||
| #define BUILD_CONST_KEY_MAP                     69 | ||||
| #define BUILD_LIST                              70 | ||||
| #define BUILD_MAP                               71 | ||||
| #define BUILD_SET                               72 | ||||
| #define BUILD_SLICE                             73 | ||||
| #define BUILD_STRING                            74 | ||||
| #define BUILD_TUPLE                             75 | ||||
| #define CALL                                    76 | ||||
| #define CALL_BOUND_METHOD_EXACT_ARGS            77 | ||||
| #define CALL_BUILTIN_CLASS                      78 | ||||
| #define CALL_BUILTIN_FAST_WITH_KEYWORDS         79 | ||||
| #define CALL_FUNCTION_EX                        80 | ||||
| #define CALL_INTRINSIC_1                        81 | ||||
| #define CALL_INTRINSIC_2                        82 | ||||
| #define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS  83 | ||||
| #define CALL_NO_KW_ALLOC_AND_ENTER_INIT         84 | ||||
| #define CALL_NO_KW_BUILTIN_FAST                 85 | ||||
| #define CALL_NO_KW_BUILTIN_O                    86 | ||||
| #define CALL_NO_KW_ISINSTANCE                   87 | ||||
| #define CALL_NO_KW_LEN                          88 | ||||
| #define CALL_NO_KW_LIST_APPEND                  89 | ||||
| #define CALL_NO_KW_METHOD_DESCRIPTOR_FAST       90 | ||||
| #define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS     91 | ||||
| #define CALL_NO_KW_METHOD_DESCRIPTOR_O          92 | ||||
| #define CALL_NO_KW_STR_1                        93 | ||||
| #define CALL_NO_KW_TUPLE_1                      94 | ||||
| #define CALL_NO_KW_TYPE_1                       95 | ||||
| #define CALL_PY_EXACT_ARGS                      96 | ||||
| #define CALL_PY_WITH_DEFAULTS                   97 | ||||
| #define COMPARE_OP                              98 | ||||
| #define COMPARE_OP_FLOAT                        99 | ||||
| #define COMPARE_OP_INT                         100 | ||||
| #define COMPARE_OP_STR                         101 | ||||
| #define CONTAINS_OP                            102 | ||||
| #define CONVERT_VALUE                          103 | ||||
| #define COPY                                   104 | ||||
| #define COPY_FREE_VARS                         105 | ||||
| #define DELETE_ATTR                            106 | ||||
| #define DELETE_DEREF                           107 | ||||
| #define DELETE_FAST                            108 | ||||
| #define DELETE_GLOBAL                          109 | ||||
| #define DELETE_NAME                            110 | ||||
| #define DICT_MERGE                             111 | ||||
| #define DICT_UPDATE                            112 | ||||
| #define ENTER_EXECUTOR                         113 | ||||
| #define EXTENDED_ARG                           114 | ||||
| #define FOR_ITER                               115 | ||||
| #define FOR_ITER_GEN                           116 | ||||
| #define FOR_ITER_LIST                          117 | ||||
| #define FOR_ITER_RANGE                         118 | ||||
| #define FOR_ITER_TUPLE                         119 | ||||
| #define GET_AWAITABLE                          120 | ||||
| #define IMPORT_FROM                            121 | ||||
| #define IMPORT_NAME                            122 | ||||
| #define IS_OP                                  123 | ||||
| #define JUMP_BACKWARD                          124 | ||||
| #define JUMP_BACKWARD_NO_INTERRUPT             125 | ||||
| #define JUMP_FORWARD                           126 | ||||
| #define KW_NAMES                               127 | ||||
| #define LIST_APPEND                            128 | ||||
| #define LIST_EXTEND                            129 | ||||
| #define LOAD_ATTR                              130 | ||||
| #define LOAD_ATTR_CLASS                        131 | ||||
| #define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN      132 | ||||
| #define LOAD_ATTR_INSTANCE_VALUE               133 | ||||
| #define LOAD_ATTR_METHOD_LAZY_DICT             134 | ||||
| #define LOAD_ATTR_METHOD_NO_DICT               135 | ||||
| #define LOAD_ATTR_METHOD_WITH_VALUES           136 | ||||
| #define LOAD_ATTR_MODULE                       137 | ||||
| #define LOAD_ATTR_NONDESCRIPTOR_NO_DICT        138 | ||||
| #define LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES    139 | ||||
| #define LOAD_ATTR_PROPERTY                     140 | ||||
| #define LOAD_ATTR_SLOT                         141 | ||||
| #define LOAD_ATTR_WITH_HINT                    142 | ||||
| #define LOAD_CONST                             143 | ||||
| #define LOAD_DEREF                             144 | ||||
| #define LOAD_FAST                              145 | ||||
| #define LOAD_FAST_AND_CLEAR                    146 | ||||
| #define LOAD_FAST_CHECK                        147 | ||||
| #define LOAD_FAST_LOAD_FAST                    148 | ||||
| #define LOAD_FROM_DICT_OR_DEREF                149 | ||||
| #define LOAD_FROM_DICT_OR_GLOBALS              150 | ||||
| #define LOAD_GLOBAL                            151 | ||||
| #define LOAD_GLOBAL_BUILTIN                    152 | ||||
| #define LOAD_GLOBAL_MODULE                     153 | ||||
| #define LOAD_NAME                              154 | ||||
| #define LOAD_SUPER_ATTR                        155 | ||||
| #define LOAD_SUPER_ATTR_ATTR                   156 | ||||
| #define LOAD_SUPER_ATTR_METHOD                 157 | ||||
| #define MAKE_CELL                              158 | ||||
| #define MAP_ADD                                159 | ||||
| #define MATCH_CLASS                            160 | ||||
| #define POP_JUMP_IF_FALSE                      161 | ||||
| #define POP_JUMP_IF_NONE                       162 | ||||
| #define POP_JUMP_IF_NOT_NONE                   163 | ||||
| #define POP_JUMP_IF_TRUE                       164 | ||||
| #define RAISE_VARARGS                          165 | ||||
| #define RESUME                                 166 | ||||
| #define RERAISE                                167 | ||||
| #define RETURN_CONST                           168 | ||||
| #define SEND                                   169 | ||||
| #define SEND_GEN                               170 | ||||
| #define SET_ADD                                171 | ||||
| #define SET_FUNCTION_ATTRIBUTE                 172 | ||||
| #define SET_UPDATE                             173 | ||||
| #define STORE_ATTR                             174 | ||||
| #define STORE_ATTR_WITH_HINT                   175 | ||||
| #define STORE_DEREF                            176 | ||||
| #define STORE_FAST                             177 | ||||
| #define STORE_FAST_LOAD_FAST                   178 | ||||
| #define STORE_FAST_STORE_FAST                  179 | ||||
| #define STORE_GLOBAL                           180 | ||||
| #define STORE_NAME                             181 | ||||
| #define SWAP                                   182 | ||||
| #define UNPACK_EX                              183 | ||||
| #define UNPACK_SEQUENCE                        184 | ||||
| #define UNPACK_SEQUENCE_LIST                   185 | ||||
| #define UNPACK_SEQUENCE_TUPLE                  186 | ||||
| #define UNPACK_SEQUENCE_TWO_TUPLE              187 | ||||
| #define YIELD_VALUE                            188 | ||||
| #define GET_ANEXT                               18 | ||||
| #define GET_ITER                                19 | ||||
| #define GET_LEN                                 20 | ||||
| #define GET_YIELD_FROM_ITER                     21 | ||||
| #define INTERPRETER_EXIT                        22 | ||||
| #define LOAD_ASSERTION_ERROR                    23 | ||||
| #define LOAD_BUILD_CLASS                        24 | ||||
| #define LOAD_LOCALS                             25 | ||||
| #define MAKE_FUNCTION                           26 | ||||
| #define MATCH_KEYS                              27 | ||||
| #define MATCH_MAPPING                           28 | ||||
| #define MATCH_SEQUENCE                          29 | ||||
| #define NOP                                     30 | ||||
| #define POP_EXCEPT                              31 | ||||
| #define POP_TOP                                 32 | ||||
| #define PUSH_EXC_INFO                           33 | ||||
| #define PUSH_NULL                               34 | ||||
| #define RETURN_GENERATOR                        35 | ||||
| #define RETURN_VALUE                            36 | ||||
| #define SETUP_ANNOTATIONS                       37 | ||||
| #define STORE_SLICE                             38 | ||||
| #define STORE_SUBSCR                            39 | ||||
| #define TO_BOOL                                 40 | ||||
| #define UNARY_INVERT                            41 | ||||
| #define UNARY_NEGATIVE                          42 | ||||
| #define UNARY_NOT                               43 | ||||
| #define WITH_EXCEPT_START                       44 | ||||
| #define HAVE_ARGUMENT                           45 | ||||
| #define BINARY_OP                               45 | ||||
| #define BUILD_CONST_KEY_MAP                     46 | ||||
| #define BUILD_LIST                              47 | ||||
| #define BUILD_MAP                               48 | ||||
| #define BUILD_SET                               49 | ||||
| #define BUILD_SLICE                             50 | ||||
| #define BUILD_STRING                            51 | ||||
| #define BUILD_TUPLE                             52 | ||||
| #define CALL                                    53 | ||||
| #define CALL_FUNCTION_EX                        54 | ||||
| #define CALL_INTRINSIC_1                        55 | ||||
| #define CALL_INTRINSIC_2                        56 | ||||
| #define COMPARE_OP                              57 | ||||
| #define CONTAINS_OP                             58 | ||||
| #define CONVERT_VALUE                           59 | ||||
| #define COPY                                    60 | ||||
| #define COPY_FREE_VARS                          61 | ||||
| #define DELETE_ATTR                             62 | ||||
| #define DELETE_DEREF                            63 | ||||
| #define DELETE_FAST                             64 | ||||
| #define DELETE_GLOBAL                           65 | ||||
| #define DELETE_NAME                             66 | ||||
| #define DICT_MERGE                              67 | ||||
| #define DICT_UPDATE                             68 | ||||
| #define ENTER_EXECUTOR                          69 | ||||
| #define EXTENDED_ARG                            70 | ||||
| #define FOR_ITER                                71 | ||||
| #define GET_AWAITABLE                           72 | ||||
| #define IMPORT_FROM                             73 | ||||
| #define IMPORT_NAME                             74 | ||||
| #define IS_OP                                   75 | ||||
| #define JUMP_BACKWARD                           76 | ||||
| #define JUMP_BACKWARD_NO_INTERRUPT              77 | ||||
| #define JUMP_FORWARD                            78 | ||||
| #define KW_NAMES                                79 | ||||
| #define LIST_APPEND                             80 | ||||
| #define LIST_EXTEND                             81 | ||||
| #define LOAD_ATTR                               82 | ||||
| #define LOAD_CONST                              83 | ||||
| #define LOAD_DEREF                              84 | ||||
| #define LOAD_FAST                               85 | ||||
| #define LOAD_FAST_AND_CLEAR                     86 | ||||
| #define LOAD_FAST_CHECK                         87 | ||||
| #define LOAD_FAST_LOAD_FAST                     88 | ||||
| #define LOAD_FROM_DICT_OR_DEREF                 89 | ||||
| #define LOAD_FROM_DICT_OR_GLOBALS               90 | ||||
| #define LOAD_GLOBAL                             91 | ||||
| #define LOAD_NAME                               92 | ||||
| #define LOAD_SUPER_ATTR                         93 | ||||
| #define MAKE_CELL                               94 | ||||
| #define MAP_ADD                                 95 | ||||
| #define MATCH_CLASS                             96 | ||||
| #define POP_JUMP_IF_FALSE                       97 | ||||
| #define POP_JUMP_IF_NONE                        98 | ||||
| #define POP_JUMP_IF_NOT_NONE                    99 | ||||
| #define POP_JUMP_IF_TRUE                       100 | ||||
| #define RAISE_VARARGS                          101 | ||||
| #define RERAISE                                102 | ||||
| #define RETURN_CONST                           103 | ||||
| #define SEND                                   104 | ||||
| #define SET_ADD                                105 | ||||
| #define SET_FUNCTION_ATTRIBUTE                 106 | ||||
| #define SET_UPDATE                             107 | ||||
| #define STORE_ATTR                             108 | ||||
| #define STORE_DEREF                            109 | ||||
| #define STORE_FAST                             110 | ||||
| #define STORE_FAST_LOAD_FAST                   111 | ||||
| #define STORE_FAST_STORE_FAST                  112 | ||||
| #define STORE_GLOBAL                           113 | ||||
| #define STORE_NAME                             114 | ||||
| #define SWAP                                   115 | ||||
| #define UNPACK_EX                              116 | ||||
| #define UNPACK_SEQUENCE                        117 | ||||
| #define YIELD_VALUE                            118 | ||||
| #define RESUME                                 149 | ||||
| #define BINARY_OP_ADD_FLOAT                    150 | ||||
| #define BINARY_OP_ADD_INT                      151 | ||||
| #define BINARY_OP_ADD_UNICODE                  152 | ||||
| #define BINARY_OP_MULTIPLY_FLOAT               153 | ||||
| #define BINARY_OP_MULTIPLY_INT                 154 | ||||
| #define BINARY_OP_SUBTRACT_FLOAT               155 | ||||
| #define BINARY_OP_SUBTRACT_INT                 156 | ||||
| #define BINARY_SUBSCR_DICT                     157 | ||||
| #define BINARY_SUBSCR_GETITEM                  158 | ||||
| #define BINARY_SUBSCR_LIST_INT                 159 | ||||
| #define BINARY_SUBSCR_STR_INT                  160 | ||||
| #define BINARY_SUBSCR_TUPLE_INT                161 | ||||
| #define CALL_BOUND_METHOD_EXACT_ARGS           162 | ||||
| #define CALL_BUILTIN_CLASS                     163 | ||||
| #define CALL_BUILTIN_FAST_WITH_KEYWORDS        164 | ||||
| #define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 165 | ||||
| #define CALL_NO_KW_ALLOC_AND_ENTER_INIT        166 | ||||
| #define CALL_NO_KW_BUILTIN_FAST                167 | ||||
| #define CALL_NO_KW_BUILTIN_O                   168 | ||||
| #define CALL_NO_KW_ISINSTANCE                  169 | ||||
| #define CALL_NO_KW_LEN                         170 | ||||
| #define CALL_NO_KW_LIST_APPEND                 171 | ||||
| #define CALL_NO_KW_METHOD_DESCRIPTOR_FAST      172 | ||||
| #define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS    173 | ||||
| #define CALL_NO_KW_METHOD_DESCRIPTOR_O         174 | ||||
| #define CALL_NO_KW_STR_1                       175 | ||||
| #define CALL_NO_KW_TUPLE_1                     176 | ||||
| #define CALL_NO_KW_TYPE_1                      177 | ||||
| #define CALL_PY_EXACT_ARGS                     178 | ||||
| #define CALL_PY_WITH_DEFAULTS                  179 | ||||
| #define COMPARE_OP_FLOAT                       180 | ||||
| #define COMPARE_OP_INT                         181 | ||||
| #define COMPARE_OP_STR                         182 | ||||
| #define FOR_ITER_GEN                           183 | ||||
| #define FOR_ITER_LIST                          184 | ||||
| #define FOR_ITER_RANGE                         185 | ||||
| #define FOR_ITER_TUPLE                         186 | ||||
| #define LOAD_ATTR_CLASS                        187 | ||||
| #define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN      188 | ||||
| #define LOAD_ATTR_INSTANCE_VALUE               189 | ||||
| #define LOAD_ATTR_METHOD_LAZY_DICT             190 | ||||
| #define LOAD_ATTR_METHOD_NO_DICT               191 | ||||
| #define LOAD_ATTR_METHOD_WITH_VALUES           192 | ||||
| #define LOAD_ATTR_MODULE                       193 | ||||
| #define LOAD_ATTR_NONDESCRIPTOR_NO_DICT        194 | ||||
| #define LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES    195 | ||||
| #define LOAD_ATTR_PROPERTY                     196 | ||||
| #define LOAD_ATTR_SLOT                         197 | ||||
| #define LOAD_ATTR_WITH_HINT                    198 | ||||
| #define LOAD_GLOBAL_BUILTIN                    199 | ||||
| #define LOAD_GLOBAL_MODULE                     200 | ||||
| #define LOAD_SUPER_ATTR_ATTR                   201 | ||||
| #define LOAD_SUPER_ATTR_METHOD                 202 | ||||
| #define RESUME_CHECK                           203 | ||||
| #define SEND_GEN                               204 | ||||
| #define STORE_ATTR_INSTANCE_VALUE              205 | ||||
| #define STORE_ATTR_SLOT                        206 | ||||
| #define STORE_ATTR_WITH_HINT                   207 | ||||
| #define STORE_SUBSCR_DICT                      208 | ||||
| #define STORE_SUBSCR_LIST_INT                  209 | ||||
| #define TO_BOOL_ALWAYS_TRUE                    210 | ||||
| #define TO_BOOL_BOOL                           211 | ||||
| #define TO_BOOL_INT                            212 | ||||
| #define TO_BOOL_LIST                           213 | ||||
| #define TO_BOOL_NONE                           214 | ||||
| #define TO_BOOL_STR                            215 | ||||
| #define UNPACK_SEQUENCE_LIST                   216 | ||||
| #define UNPACK_SEQUENCE_TUPLE                  217 | ||||
| #define UNPACK_SEQUENCE_TWO_TUPLE              218 | ||||
| #define MIN_INSTRUMENTED_OPCODE                237 | ||||
| #define INSTRUMENTED_RESUME                    237 | ||||
| #define INSTRUMENTED_END_FOR                   238 | ||||
|  |  | |||
							
								
								
									
										372
									
								
								Lib/_opcode_metadata.py
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										372
									
								
								Lib/_opcode_metadata.py
									
										
									
										generated
									
									
									
								
							|  | @ -107,198 +107,198 @@ _specializations = { | |||
| _specializations["BINARY_OP"].append("BINARY_OP_INPLACE_ADD_UNICODE") | ||||
| 
 | ||||
| _specialized_opmap = { | ||||
|     'BINARY_OP_ADD_FLOAT': 3, | ||||
|     'BINARY_OP_ADD_INT': 4, | ||||
|     'BINARY_OP_ADD_UNICODE': 5, | ||||
|     'BINARY_OP_INPLACE_ADD_UNICODE': 6, | ||||
|     'BINARY_OP_MULTIPLY_FLOAT': 7, | ||||
|     'BINARY_OP_MULTIPLY_INT': 8, | ||||
|     'BINARY_OP_SUBTRACT_FLOAT': 9, | ||||
|     'BINARY_OP_SUBTRACT_INT': 10, | ||||
|     'BINARY_SUBSCR_DICT': 13, | ||||
|     'BINARY_SUBSCR_GETITEM': 14, | ||||
|     'BINARY_SUBSCR_LIST_INT': 15, | ||||
|     'BINARY_SUBSCR_STR_INT': 16, | ||||
|     'BINARY_SUBSCR_TUPLE_INT': 18, | ||||
|     'RESUME_CHECK': 47, | ||||
|     'STORE_ATTR_INSTANCE_VALUE': 51, | ||||
|     'STORE_ATTR_SLOT': 52, | ||||
|     'STORE_SUBSCR_DICT': 55, | ||||
|     'STORE_SUBSCR_LIST_INT': 56, | ||||
|     'TO_BOOL_ALWAYS_TRUE': 58, | ||||
|     'TO_BOOL_BOOL': 59, | ||||
|     'TO_BOOL_INT': 60, | ||||
|     'TO_BOOL_LIST': 61, | ||||
|     'TO_BOOL_NONE': 62, | ||||
|     'TO_BOOL_STR': 63, | ||||
|     'CALL_BOUND_METHOD_EXACT_ARGS': 77, | ||||
|     'CALL_BUILTIN_CLASS': 78, | ||||
|     'CALL_BUILTIN_FAST_WITH_KEYWORDS': 79, | ||||
|     'CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS': 83, | ||||
|     'CALL_NO_KW_ALLOC_AND_ENTER_INIT': 84, | ||||
|     'CALL_NO_KW_BUILTIN_FAST': 85, | ||||
|     'CALL_NO_KW_BUILTIN_O': 86, | ||||
|     'CALL_NO_KW_ISINSTANCE': 87, | ||||
|     'CALL_NO_KW_LEN': 88, | ||||
|     'CALL_NO_KW_LIST_APPEND': 89, | ||||
|     'CALL_NO_KW_METHOD_DESCRIPTOR_FAST': 90, | ||||
|     'CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS': 91, | ||||
|     'CALL_NO_KW_METHOD_DESCRIPTOR_O': 92, | ||||
|     'CALL_NO_KW_STR_1': 93, | ||||
|     'CALL_NO_KW_TUPLE_1': 94, | ||||
|     'CALL_NO_KW_TYPE_1': 95, | ||||
|     'CALL_PY_EXACT_ARGS': 96, | ||||
|     'CALL_PY_WITH_DEFAULTS': 97, | ||||
|     'COMPARE_OP_FLOAT': 99, | ||||
|     'COMPARE_OP_INT': 100, | ||||
|     'COMPARE_OP_STR': 101, | ||||
|     'FOR_ITER_GEN': 116, | ||||
|     'FOR_ITER_LIST': 117, | ||||
|     'FOR_ITER_RANGE': 118, | ||||
|     'FOR_ITER_TUPLE': 119, | ||||
|     'LOAD_ATTR_CLASS': 131, | ||||
|     'LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN': 132, | ||||
|     'LOAD_ATTR_INSTANCE_VALUE': 133, | ||||
|     'LOAD_ATTR_METHOD_LAZY_DICT': 134, | ||||
|     'LOAD_ATTR_METHOD_NO_DICT': 135, | ||||
|     'LOAD_ATTR_METHOD_WITH_VALUES': 136, | ||||
|     'LOAD_ATTR_MODULE': 137, | ||||
|     'LOAD_ATTR_NONDESCRIPTOR_NO_DICT': 138, | ||||
|     'LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES': 139, | ||||
|     'LOAD_ATTR_PROPERTY': 140, | ||||
|     'LOAD_ATTR_SLOT': 141, | ||||
|     'LOAD_ATTR_WITH_HINT': 142, | ||||
|     'LOAD_GLOBAL_BUILTIN': 152, | ||||
|     'LOAD_GLOBAL_MODULE': 153, | ||||
|     'LOAD_SUPER_ATTR_ATTR': 156, | ||||
|     'LOAD_SUPER_ATTR_METHOD': 157, | ||||
|     'SEND_GEN': 170, | ||||
|     'STORE_ATTR_WITH_HINT': 175, | ||||
|     'UNPACK_SEQUENCE_LIST': 185, | ||||
|     'UNPACK_SEQUENCE_TUPLE': 186, | ||||
|     'UNPACK_SEQUENCE_TWO_TUPLE': 187, | ||||
|     'BINARY_OP_INPLACE_ADD_UNICODE': 3, | ||||
|     'BINARY_OP_ADD_FLOAT': 150, | ||||
|     'BINARY_OP_ADD_INT': 151, | ||||
|     'BINARY_OP_ADD_UNICODE': 152, | ||||
|     'BINARY_OP_MULTIPLY_FLOAT': 153, | ||||
|     'BINARY_OP_MULTIPLY_INT': 154, | ||||
|     'BINARY_OP_SUBTRACT_FLOAT': 155, | ||||
|     'BINARY_OP_SUBTRACT_INT': 156, | ||||
|     'BINARY_SUBSCR_DICT': 157, | ||||
|     'BINARY_SUBSCR_GETITEM': 158, | ||||
|     'BINARY_SUBSCR_LIST_INT': 159, | ||||
|     'BINARY_SUBSCR_STR_INT': 160, | ||||
|     'BINARY_SUBSCR_TUPLE_INT': 161, | ||||
|     'CALL_BOUND_METHOD_EXACT_ARGS': 162, | ||||
|     'CALL_BUILTIN_CLASS': 163, | ||||
|     'CALL_BUILTIN_FAST_WITH_KEYWORDS': 164, | ||||
|     'CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS': 165, | ||||
|     'CALL_NO_KW_ALLOC_AND_ENTER_INIT': 166, | ||||
|     'CALL_NO_KW_BUILTIN_FAST': 167, | ||||
|     'CALL_NO_KW_BUILTIN_O': 168, | ||||
|     'CALL_NO_KW_ISINSTANCE': 169, | ||||
|     'CALL_NO_KW_LEN': 170, | ||||
|     'CALL_NO_KW_LIST_APPEND': 171, | ||||
|     'CALL_NO_KW_METHOD_DESCRIPTOR_FAST': 172, | ||||
|     'CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS': 173, | ||||
|     'CALL_NO_KW_METHOD_DESCRIPTOR_O': 174, | ||||
|     'CALL_NO_KW_STR_1': 175, | ||||
|     'CALL_NO_KW_TUPLE_1': 176, | ||||
|     'CALL_NO_KW_TYPE_1': 177, | ||||
|     'CALL_PY_EXACT_ARGS': 178, | ||||
|     'CALL_PY_WITH_DEFAULTS': 179, | ||||
|     'COMPARE_OP_FLOAT': 180, | ||||
|     'COMPARE_OP_INT': 181, | ||||
|     'COMPARE_OP_STR': 182, | ||||
|     'FOR_ITER_GEN': 183, | ||||
|     'FOR_ITER_LIST': 184, | ||||
|     'FOR_ITER_RANGE': 185, | ||||
|     'FOR_ITER_TUPLE': 186, | ||||
|     'LOAD_ATTR_CLASS': 187, | ||||
|     'LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN': 188, | ||||
|     'LOAD_ATTR_INSTANCE_VALUE': 189, | ||||
|     'LOAD_ATTR_METHOD_LAZY_DICT': 190, | ||||
|     'LOAD_ATTR_METHOD_NO_DICT': 191, | ||||
|     'LOAD_ATTR_METHOD_WITH_VALUES': 192, | ||||
|     'LOAD_ATTR_MODULE': 193, | ||||
|     'LOAD_ATTR_NONDESCRIPTOR_NO_DICT': 194, | ||||
|     'LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES': 195, | ||||
|     'LOAD_ATTR_PROPERTY': 196, | ||||
|     'LOAD_ATTR_SLOT': 197, | ||||
|     'LOAD_ATTR_WITH_HINT': 198, | ||||
|     'LOAD_GLOBAL_BUILTIN': 199, | ||||
|     'LOAD_GLOBAL_MODULE': 200, | ||||
|     'LOAD_SUPER_ATTR_ATTR': 201, | ||||
|     'LOAD_SUPER_ATTR_METHOD': 202, | ||||
|     'RESUME_CHECK': 203, | ||||
|     'SEND_GEN': 204, | ||||
|     'STORE_ATTR_INSTANCE_VALUE': 205, | ||||
|     'STORE_ATTR_SLOT': 206, | ||||
|     'STORE_ATTR_WITH_HINT': 207, | ||||
|     'STORE_SUBSCR_DICT': 208, | ||||
|     'STORE_SUBSCR_LIST_INT': 209, | ||||
|     'TO_BOOL_ALWAYS_TRUE': 210, | ||||
|     'TO_BOOL_BOOL': 211, | ||||
|     'TO_BOOL_INT': 212, | ||||
|     'TO_BOOL_LIST': 213, | ||||
|     'TO_BOOL_NONE': 214, | ||||
|     'TO_BOOL_STR': 215, | ||||
|     'UNPACK_SEQUENCE_LIST': 216, | ||||
|     'UNPACK_SEQUENCE_TUPLE': 217, | ||||
|     'UNPACK_SEQUENCE_TWO_TUPLE': 218, | ||||
| } | ||||
| 
 | ||||
| opmap = { | ||||
|     'CACHE': 0, | ||||
|     'BEFORE_ASYNC_WITH': 1, | ||||
|     'BEFORE_WITH': 2, | ||||
|     'BINARY_SLICE': 11, | ||||
|     'BINARY_SUBSCR': 12, | ||||
|     'BINARY_SLICE': 4, | ||||
|     'BINARY_SUBSCR': 5, | ||||
|     'CHECK_EG_MATCH': 6, | ||||
|     'CHECK_EXC_MATCH': 7, | ||||
|     'CLEANUP_THROW': 8, | ||||
|     'DELETE_SUBSCR': 9, | ||||
|     'END_ASYNC_FOR': 10, | ||||
|     'END_FOR': 11, | ||||
|     'END_SEND': 12, | ||||
|     'EXIT_INIT_CHECK': 13, | ||||
|     'FORMAT_SIMPLE': 14, | ||||
|     'FORMAT_WITH_SPEC': 15, | ||||
|     'GET_AITER': 16, | ||||
|     'RESERVED': 17, | ||||
|     'CHECK_EG_MATCH': 19, | ||||
|     'CHECK_EXC_MATCH': 20, | ||||
|     'CLEANUP_THROW': 21, | ||||
|     'DELETE_SUBSCR': 22, | ||||
|     'END_ASYNC_FOR': 23, | ||||
|     'END_FOR': 24, | ||||
|     'END_SEND': 25, | ||||
|     'EXIT_INIT_CHECK': 26, | ||||
|     'FORMAT_SIMPLE': 27, | ||||
|     'FORMAT_WITH_SPEC': 28, | ||||
|     'GET_AITER': 29, | ||||
|     'GET_ANEXT': 30, | ||||
|     'GET_ITER': 31, | ||||
|     'GET_LEN': 32, | ||||
|     'GET_YIELD_FROM_ITER': 33, | ||||
|     'INTERPRETER_EXIT': 34, | ||||
|     'LOAD_ASSERTION_ERROR': 35, | ||||
|     'LOAD_BUILD_CLASS': 36, | ||||
|     'LOAD_LOCALS': 37, | ||||
|     'MAKE_FUNCTION': 38, | ||||
|     'MATCH_KEYS': 39, | ||||
|     'MATCH_MAPPING': 40, | ||||
|     'MATCH_SEQUENCE': 41, | ||||
|     'NOP': 42, | ||||
|     'POP_EXCEPT': 43, | ||||
|     'POP_TOP': 44, | ||||
|     'PUSH_EXC_INFO': 45, | ||||
|     'PUSH_NULL': 46, | ||||
|     'RETURN_GENERATOR': 48, | ||||
|     'RETURN_VALUE': 49, | ||||
|     'SETUP_ANNOTATIONS': 50, | ||||
|     'STORE_SLICE': 53, | ||||
|     'STORE_SUBSCR': 54, | ||||
|     'TO_BOOL': 57, | ||||
|     'UNARY_INVERT': 64, | ||||
|     'UNARY_NEGATIVE': 65, | ||||
|     'UNARY_NOT': 66, | ||||
|     'WITH_EXCEPT_START': 67, | ||||
|     'BINARY_OP': 68, | ||||
|     'BUILD_CONST_KEY_MAP': 69, | ||||
|     'BUILD_LIST': 70, | ||||
|     'BUILD_MAP': 71, | ||||
|     'BUILD_SET': 72, | ||||
|     'BUILD_SLICE': 73, | ||||
|     'BUILD_STRING': 74, | ||||
|     'BUILD_TUPLE': 75, | ||||
|     'CALL': 76, | ||||
|     'CALL_FUNCTION_EX': 80, | ||||
|     'CALL_INTRINSIC_1': 81, | ||||
|     'CALL_INTRINSIC_2': 82, | ||||
|     'COMPARE_OP': 98, | ||||
|     'CONTAINS_OP': 102, | ||||
|     'CONVERT_VALUE': 103, | ||||
|     'COPY': 104, | ||||
|     'COPY_FREE_VARS': 105, | ||||
|     'DELETE_ATTR': 106, | ||||
|     'DELETE_DEREF': 107, | ||||
|     'DELETE_FAST': 108, | ||||
|     'DELETE_GLOBAL': 109, | ||||
|     'DELETE_NAME': 110, | ||||
|     'DICT_MERGE': 111, | ||||
|     'DICT_UPDATE': 112, | ||||
|     'ENTER_EXECUTOR': 113, | ||||
|     'EXTENDED_ARG': 114, | ||||
|     'FOR_ITER': 115, | ||||
|     'GET_AWAITABLE': 120, | ||||
|     'IMPORT_FROM': 121, | ||||
|     'IMPORT_NAME': 122, | ||||
|     'IS_OP': 123, | ||||
|     'JUMP_BACKWARD': 124, | ||||
|     'JUMP_BACKWARD_NO_INTERRUPT': 125, | ||||
|     'JUMP_FORWARD': 126, | ||||
|     'KW_NAMES': 127, | ||||
|     'LIST_APPEND': 128, | ||||
|     'LIST_EXTEND': 129, | ||||
|     'LOAD_ATTR': 130, | ||||
|     'LOAD_CONST': 143, | ||||
|     'LOAD_DEREF': 144, | ||||
|     'LOAD_FAST': 145, | ||||
|     'LOAD_FAST_AND_CLEAR': 146, | ||||
|     'LOAD_FAST_CHECK': 147, | ||||
|     'LOAD_FAST_LOAD_FAST': 148, | ||||
|     'LOAD_FROM_DICT_OR_DEREF': 149, | ||||
|     'LOAD_FROM_DICT_OR_GLOBALS': 150, | ||||
|     'LOAD_GLOBAL': 151, | ||||
|     'LOAD_NAME': 154, | ||||
|     'LOAD_SUPER_ATTR': 155, | ||||
|     'MAKE_CELL': 158, | ||||
|     'MAP_ADD': 159, | ||||
|     'MATCH_CLASS': 160, | ||||
|     'POP_JUMP_IF_FALSE': 161, | ||||
|     'POP_JUMP_IF_NONE': 162, | ||||
|     'POP_JUMP_IF_NOT_NONE': 163, | ||||
|     'POP_JUMP_IF_TRUE': 164, | ||||
|     'RAISE_VARARGS': 165, | ||||
|     'RESUME': 166, | ||||
|     'RERAISE': 167, | ||||
|     'RETURN_CONST': 168, | ||||
|     'SEND': 169, | ||||
|     'SET_ADD': 171, | ||||
|     'SET_FUNCTION_ATTRIBUTE': 172, | ||||
|     'SET_UPDATE': 173, | ||||
|     'STORE_ATTR': 174, | ||||
|     'STORE_DEREF': 176, | ||||
|     'STORE_FAST': 177, | ||||
|     'STORE_FAST_LOAD_FAST': 178, | ||||
|     'STORE_FAST_STORE_FAST': 179, | ||||
|     'STORE_GLOBAL': 180, | ||||
|     'STORE_NAME': 181, | ||||
|     'SWAP': 182, | ||||
|     'UNPACK_EX': 183, | ||||
|     'UNPACK_SEQUENCE': 184, | ||||
|     'YIELD_VALUE': 188, | ||||
|     'GET_ANEXT': 18, | ||||
|     'GET_ITER': 19, | ||||
|     'GET_LEN': 20, | ||||
|     'GET_YIELD_FROM_ITER': 21, | ||||
|     'INTERPRETER_EXIT': 22, | ||||
|     'LOAD_ASSERTION_ERROR': 23, | ||||
|     'LOAD_BUILD_CLASS': 24, | ||||
|     'LOAD_LOCALS': 25, | ||||
|     'MAKE_FUNCTION': 26, | ||||
|     'MATCH_KEYS': 27, | ||||
|     'MATCH_MAPPING': 28, | ||||
|     'MATCH_SEQUENCE': 29, | ||||
|     'NOP': 30, | ||||
|     'POP_EXCEPT': 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_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, | ||||
|     'COMPARE_OP': 57, | ||||
|     'CONTAINS_OP': 58, | ||||
|     'CONVERT_VALUE': 59, | ||||
|     'COPY': 60, | ||||
|     'COPY_FREE_VARS': 61, | ||||
|     'DELETE_ATTR': 62, | ||||
|     'DELETE_DEREF': 63, | ||||
|     'DELETE_FAST': 64, | ||||
|     'DELETE_GLOBAL': 65, | ||||
|     'DELETE_NAME': 66, | ||||
|     'DICT_MERGE': 67, | ||||
|     'DICT_UPDATE': 68, | ||||
|     'ENTER_EXECUTOR': 69, | ||||
|     'EXTENDED_ARG': 70, | ||||
|     'FOR_ITER': 71, | ||||
|     'GET_AWAITABLE': 72, | ||||
|     'IMPORT_FROM': 73, | ||||
|     'IMPORT_NAME': 74, | ||||
|     'IS_OP': 75, | ||||
|     'JUMP_BACKWARD': 76, | ||||
|     'JUMP_BACKWARD_NO_INTERRUPT': 77, | ||||
|     'JUMP_FORWARD': 78, | ||||
|     'KW_NAMES': 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': 237, | ||||
|     'INSTRUMENTED_END_FOR': 238, | ||||
|     'INSTRUMENTED_END_SEND': 239, | ||||
|  | @ -331,4 +331,4 @@ opmap = { | |||
|     'STORE_FAST_MAYBE_NULL': 267, | ||||
| } | ||||
| MIN_INSTRUMENTED_OPCODE = 237 | ||||
| HAVE_ARGUMENT = 68 | ||||
| HAVE_ARGUMENT = 45 | ||||
|  |  | |||
|  | @ -457,6 +457,7 @@ def _write_atomic(path, data, mode=0o666): | |||
| #     Python 3.13a1 3559 (Generate opcode IDs from bytecodes.c) | ||||
| #     Python 3.13a1 3560 (Add RESUME_CHECK instruction) | ||||
| #     Python 3.13a1 3561 (Add cache entry to branch instructions) | ||||
| #     Python 3.13a1 3562 (Assign opcode IDs for internal ops in separate range) | ||||
| 
 | ||||
| #     Python 3.14 will start with 3600 | ||||
| 
 | ||||
|  | @ -473,7 +474,7 @@ def _write_atomic(path, data, mode=0o666): | |||
| # Whenever MAGIC_NUMBER is changed, the ranges in the magic_values array | ||||
| # in PC/launcher.c must also be updated. | ||||
| 
 | ||||
| MAGIC_NUMBER = (3561).to_bytes(2, 'little') + b'\r\n' | ||||
| MAGIC_NUMBER = (3562).to_bytes(2, 'little') + b'\r\n' | ||||
| 
 | ||||
| _RAW_MAGIC_NUMBER = int.from_bytes(MAGIC_NUMBER, 'little')  # For import.c | ||||
| 
 | ||||
|  |  | |||
|  | @ -1641,197 +1641,197 @@ def _prepare_test_cases(): | |||
| Instruction = dis.Instruction | ||||
| 
 | ||||
| expected_opinfo_outer = [ | ||||
|   Instruction(opname='MAKE_CELL', opcode=158, arg=0, argval='a', argrepr='a', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='MAKE_CELL', opcode=158, arg=1, argval='b', argrepr='b', offset=2, start_offset=2, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RESUME', opcode=166, arg=0, argval=0, argrepr='', offset=4, start_offset=4, starts_line=True, line_number=1, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=5, argval=(3, 4), argrepr='(3, 4)', offset=6, start_offset=6, starts_line=True, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='a', argrepr='a', offset=8, start_offset=8, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=1, argval='b', argrepr='b', offset=10, start_offset=10, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BUILD_TUPLE', opcode=75, arg=2, argval=2, argrepr='', offset=12, start_offset=12, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=1, argval=code_object_f, argrepr=repr(code_object_f), offset=14, start_offset=14, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='MAKE_FUNCTION', opcode=38, arg=None, argval=None, argrepr='', offset=16, start_offset=16, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=172, arg=8, argval=8, argrepr='closure', offset=18, start_offset=18, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=172, arg=1, argval=1, argrepr='defaults', offset=20, start_offset=20, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='STORE_FAST', opcode=177, arg=2, argval='f', argrepr='f', offset=22, start_offset=22, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=1, argval='print', argrepr='print + NULL', offset=24, start_offset=24, starts_line=True, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=144, arg=0, argval='a', argrepr='a', offset=34, start_offset=34, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=144, arg=1, argval='b', argrepr='b', offset=36, start_offset=36, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=2, argval='', argrepr="''", offset=38, start_offset=38, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=3, argval=1, argrepr='1', offset=40, start_offset=40, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BUILD_LIST', opcode=70, arg=0, argval=0, argrepr='', offset=42, start_offset=42, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BUILD_MAP', opcode=71, arg=0, argval=0, argrepr='', offset=44, start_offset=44, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=4, argval='Hello world!', argrepr="'Hello world!'", offset=46, start_offset=46, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=7, argval=7, argrepr='', offset=48, start_offset=48, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=56, start_offset=56, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=2, argval='f', argrepr='f', offset=58, start_offset=58, starts_line=True, line_number=8, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RETURN_VALUE', opcode=49, arg=None, argval=None, argrepr='', offset=60, start_offset=60, starts_line=False, line_number=8, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='MAKE_CELL', opcode=94, arg=0, argval='a', argrepr='a', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='MAKE_CELL', opcode=94, arg=1, argval='b', argrepr='b', offset=2, start_offset=2, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RESUME', opcode=149, arg=0, argval=0, argrepr='', offset=4, start_offset=4, starts_line=True, line_number=1, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=5, argval=(3, 4), argrepr='(3, 4)', offset=6, start_offset=6, starts_line=True, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='a', argrepr='a', offset=8, start_offset=8, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=1, argval='b', argrepr='b', offset=10, start_offset=10, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BUILD_TUPLE', opcode=52, arg=2, argval=2, argrepr='', offset=12, start_offset=12, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=1, argval=code_object_f, argrepr=repr(code_object_f), offset=14, start_offset=14, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='MAKE_FUNCTION', opcode=26, arg=None, argval=None, argrepr='', offset=16, start_offset=16, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=106, arg=8, argval=8, argrepr='closure', offset=18, start_offset=18, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=106, arg=1, argval=1, argrepr='defaults', offset=20, start_offset=20, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='STORE_FAST', opcode=110, arg=2, argval='f', argrepr='f', offset=22, start_offset=22, starts_line=False, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=1, argval='print', argrepr='print + NULL', offset=24, start_offset=24, starts_line=True, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=84, arg=0, argval='a', argrepr='a', offset=34, start_offset=34, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=84, arg=1, argval='b', argrepr='b', offset=36, start_offset=36, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=2, argval='', argrepr="''", offset=38, start_offset=38, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=3, argval=1, argrepr='1', offset=40, start_offset=40, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BUILD_LIST', opcode=47, arg=0, argval=0, argrepr='', offset=42, start_offset=42, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BUILD_MAP', opcode=48, arg=0, argval=0, argrepr='', offset=44, start_offset=44, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=4, argval='Hello world!', argrepr="'Hello world!'", offset=46, start_offset=46, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=7, argval=7, argrepr='', offset=48, start_offset=48, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=56, start_offset=56, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=2, argval='f', argrepr='f', offset=58, start_offset=58, starts_line=True, line_number=8, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RETURN_VALUE', opcode=36, arg=None, argval=None, argrepr='', offset=60, start_offset=60, starts_line=False, line_number=8, is_jump_target=False, positions=None), | ||||
| ] | ||||
| 
 | ||||
| expected_opinfo_f = [ | ||||
|   Instruction(opname='COPY_FREE_VARS', opcode=105, arg=2, argval=2, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='MAKE_CELL', opcode=158, arg=0, argval='c', argrepr='c', offset=2, start_offset=2, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='MAKE_CELL', opcode=158, arg=1, argval='d', argrepr='d', offset=4, start_offset=4, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RESUME', opcode=166, arg=0, argval=0, argrepr='', offset=6, start_offset=6, starts_line=True, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=2, argval=(5, 6), argrepr='(5, 6)', offset=8, start_offset=8, starts_line=True, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=3, argval='a', argrepr='a', offset=10, start_offset=10, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=4, argval='b', argrepr='b', offset=12, start_offset=12, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='c', argrepr='c', offset=14, start_offset=14, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=1, argval='d', argrepr='d', offset=16, start_offset=16, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BUILD_TUPLE', opcode=75, arg=4, argval=4, argrepr='', offset=18, start_offset=18, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=1, argval=code_object_inner, argrepr=repr(code_object_inner), offset=20, start_offset=20, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='MAKE_FUNCTION', opcode=38, arg=None, argval=None, argrepr='', offset=22, start_offset=22, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=172, arg=8, argval=8, argrepr='closure', offset=24, start_offset=24, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=172, arg=1, argval=1, argrepr='defaults', offset=26, start_offset=26, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='STORE_FAST', opcode=177, arg=2, argval='inner', argrepr='inner', offset=28, start_offset=28, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=1, argval='print', argrepr='print + NULL', offset=30, start_offset=30, starts_line=True, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=144, arg=3, argval='a', argrepr='a', offset=40, start_offset=40, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=144, arg=4, argval='b', argrepr='b', offset=42, start_offset=42, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=144, arg=0, argval='c', argrepr='c', offset=44, start_offset=44, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=144, arg=1, argval='d', argrepr='d', offset=46, start_offset=46, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=4, argval=4, argrepr='', offset=48, start_offset=48, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=56, start_offset=56, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=2, argval='inner', argrepr='inner', offset=58, start_offset=58, starts_line=True, line_number=6, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RETURN_VALUE', opcode=49, arg=None, argval=None, argrepr='', offset=60, start_offset=60, starts_line=False, line_number=6, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COPY_FREE_VARS', opcode=61, arg=2, argval=2, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='MAKE_CELL', opcode=94, arg=0, argval='c', argrepr='c', offset=2, start_offset=2, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='MAKE_CELL', opcode=94, arg=1, argval='d', argrepr='d', offset=4, start_offset=4, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RESUME', opcode=149, arg=0, argval=0, argrepr='', offset=6, start_offset=6, starts_line=True, line_number=2, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=2, argval=(5, 6), argrepr='(5, 6)', offset=8, start_offset=8, starts_line=True, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=3, argval='a', argrepr='a', offset=10, start_offset=10, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=4, argval='b', argrepr='b', offset=12, start_offset=12, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='c', argrepr='c', offset=14, start_offset=14, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=1, argval='d', argrepr='d', offset=16, start_offset=16, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BUILD_TUPLE', opcode=52, arg=4, argval=4, argrepr='', offset=18, start_offset=18, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=1, argval=code_object_inner, argrepr=repr(code_object_inner), offset=20, start_offset=20, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='MAKE_FUNCTION', opcode=26, arg=None, argval=None, argrepr='', offset=22, start_offset=22, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=106, arg=8, argval=8, argrepr='closure', offset=24, start_offset=24, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=106, arg=1, argval=1, argrepr='defaults', offset=26, start_offset=26, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='STORE_FAST', opcode=110, arg=2, argval='inner', argrepr='inner', offset=28, start_offset=28, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=1, argval='print', argrepr='print + NULL', offset=30, start_offset=30, starts_line=True, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=84, arg=3, argval='a', argrepr='a', offset=40, start_offset=40, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=84, arg=4, argval='b', argrepr='b', offset=42, start_offset=42, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=84, arg=0, argval='c', argrepr='c', offset=44, start_offset=44, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=84, arg=1, argval='d', argrepr='d', offset=46, start_offset=46, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=4, argval=4, argrepr='', offset=48, start_offset=48, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=56, start_offset=56, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=2, argval='inner', argrepr='inner', offset=58, start_offset=58, starts_line=True, line_number=6, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RETURN_VALUE', opcode=36, arg=None, argval=None, argrepr='', offset=60, start_offset=60, starts_line=False, line_number=6, is_jump_target=False, positions=None), | ||||
| ] | ||||
| 
 | ||||
| expected_opinfo_inner = [ | ||||
|   Instruction(opname='COPY_FREE_VARS', opcode=105, arg=4, argval=4, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RESUME', opcode=166, arg=0, argval=0, argrepr='', offset=2, start_offset=2, starts_line=True, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=1, argval='print', argrepr='print + NULL', offset=4, start_offset=4, starts_line=True, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=144, arg=2, argval='a', argrepr='a', offset=14, start_offset=14, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=144, arg=3, argval='b', argrepr='b', offset=16, start_offset=16, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=144, arg=4, argval='c', argrepr='c', offset=18, start_offset=18, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=144, arg=5, argval='d', argrepr='d', offset=20, start_offset=20, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST_LOAD_FAST', opcode=148, arg=1, argval=('e', 'f'), argrepr='e, f', offset=22, start_offset=22, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=6, argval=6, argrepr='', offset=24, start_offset=24, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=32, start_offset=32, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RETURN_CONST', opcode=168, arg=0, argval=None, argrepr='None', offset=34, start_offset=34, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COPY_FREE_VARS', opcode=61, arg=4, argval=4, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RESUME', opcode=149, arg=0, argval=0, argrepr='', offset=2, start_offset=2, starts_line=True, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=1, argval='print', argrepr='print + NULL', offset=4, start_offset=4, starts_line=True, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=84, arg=2, argval='a', argrepr='a', offset=14, start_offset=14, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=84, arg=3, argval='b', argrepr='b', offset=16, start_offset=16, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=84, arg=4, argval='c', argrepr='c', offset=18, start_offset=18, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_DEREF', opcode=84, arg=5, argval='d', argrepr='d', offset=20, start_offset=20, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST_LOAD_FAST', opcode=88, arg=1, argval=('e', 'f'), argrepr='e, f', offset=22, start_offset=22, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=6, argval=6, argrepr='', offset=24, start_offset=24, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=32, start_offset=32, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RETURN_CONST', opcode=103, arg=0, argval=None, argrepr='None', offset=34, start_offset=34, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
| ] | ||||
| 
 | ||||
| expected_opinfo_jumpy = [ | ||||
|   Instruction(opname='RESUME', opcode=166, arg=0, argval=0, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=1, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=1, argval='range', argrepr='range + NULL', offset=2, start_offset=2, starts_line=True, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=1, argval=10, argrepr='10', offset=12, start_offset=12, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=14, start_offset=14, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='GET_ITER', opcode=31, arg=None, argval=None, argrepr='', offset=22, start_offset=22, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='FOR_ITER', opcode=115, arg=30, argval=88, argrepr='to 88', offset=24, start_offset=24, starts_line=False, line_number=3, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='STORE_FAST', opcode=177, arg=0, argval='i', argrepr='i', offset=28, start_offset=28, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=30, start_offset=30, starts_line=True, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=40, start_offset=40, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=42, start_offset=42, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=50, start_offset=50, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=52, start_offset=52, starts_line=True, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=2, argval=4, argrepr='4', offset=54, start_offset=54, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COMPARE_OP', opcode=98, arg=18, argval='<', argrepr='bool(<)', offset=56, start_offset=56, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=2, argval=68, argrepr='to 68', offset=60, start_offset=60, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=124, arg=22, argval=24, argrepr='to 24', offset=64, start_offset=64, starts_line=True, line_number=6, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=68, start_offset=68, starts_line=True, line_number=7, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=3, argval=6, argrepr='6', offset=70, start_offset=70, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COMPARE_OP', opcode=98, arg=148, argval='>', argrepr='bool(>)', offset=72, start_offset=72, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_TRUE', opcode=164, arg=2, argval=84, argrepr='to 84', offset=76, start_offset=76, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=124, arg=30, argval=24, argrepr='to 24', offset=80, start_offset=80, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=84, start_offset=84, starts_line=True, line_number=8, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='JUMP_FORWARD', opcode=126, arg=12, argval=112, argrepr='to 112', offset=86, start_offset=86, starts_line=False, line_number=8, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='END_FOR', opcode=24, arg=None, argval=None, argrepr='', offset=88, start_offset=88, starts_line=True, line_number=3, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=90, start_offset=90, starts_line=True, line_number=10, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=4, argval='I can haz else clause?', argrepr="'I can haz else clause?'", offset=100, start_offset=100, starts_line=False, line_number=10, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=102, start_offset=102, starts_line=False, line_number=10, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=110, start_offset=110, starts_line=False, line_number=10, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST_CHECK', opcode=147, arg=0, argval='i', argrepr='i', offset=112, start_offset=112, starts_line=True, line_number=11, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='TO_BOOL', opcode=57, arg=None, argval=None, argrepr='', offset=114, start_offset=114, starts_line=False, line_number=11, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=40, argval=206, argrepr='to 206', offset=122, start_offset=122, starts_line=False, line_number=11, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=126, start_offset=126, starts_line=True, line_number=12, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=136, start_offset=136, starts_line=False, line_number=12, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=138, start_offset=138, starts_line=False, line_number=12, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=146, start_offset=146, starts_line=False, line_number=12, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=148, start_offset=148, starts_line=True, line_number=13, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=5, argval=1, argrepr='1', offset=150, start_offset=150, starts_line=False, line_number=13, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BINARY_OP', opcode=68, arg=23, argval=23, argrepr='-=', offset=152, start_offset=152, starts_line=False, line_number=13, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='STORE_FAST', opcode=177, arg=0, argval='i', argrepr='i', offset=156, start_offset=156, starts_line=False, line_number=13, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=158, start_offset=158, starts_line=True, line_number=14, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=3, argval=6, argrepr='6', offset=160, start_offset=160, starts_line=False, line_number=14, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COMPARE_OP', opcode=98, arg=148, argval='>', argrepr='bool(>)', offset=162, start_offset=162, starts_line=False, line_number=14, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=2, argval=174, argrepr='to 174', offset=166, start_offset=166, starts_line=False, line_number=14, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=124, arg=31, argval=112, argrepr='to 112', offset=170, start_offset=170, starts_line=True, line_number=15, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=174, start_offset=174, starts_line=True, line_number=16, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=2, argval=4, argrepr='4', offset=176, start_offset=176, starts_line=False, line_number=16, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COMPARE_OP', opcode=98, arg=18, argval='<', argrepr='bool(<)', offset=178, start_offset=178, starts_line=False, line_number=16, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=1, argval=188, argrepr='to 188', offset=182, start_offset=182, starts_line=False, line_number=16, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_FORWARD', opcode=126, arg=20, argval=228, argrepr='to 228', offset=186, start_offset=186, starts_line=True, line_number=17, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=188, start_offset=188, starts_line=True, line_number=11, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='TO_BOOL', opcode=57, arg=None, argval=None, argrepr='', offset=190, start_offset=190, starts_line=False, line_number=11, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=2, argval=206, argrepr='to 206', offset=198, start_offset=198, starts_line=False, line_number=11, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=124, arg=40, argval=126, argrepr='to 126', offset=202, start_offset=202, starts_line=False, line_number=11, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=206, start_offset=206, starts_line=True, line_number=19, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=6, argval='Who let lolcatz into this test suite?', argrepr="'Who let lolcatz into this test suite?'", offset=216, start_offset=216, starts_line=False, line_number=19, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=218, start_offset=218, starts_line=False, line_number=19, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=226, start_offset=226, starts_line=False, line_number=19, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='NOP', opcode=42, arg=None, argval=None, argrepr='', offset=228, start_offset=228, starts_line=True, line_number=20, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=5, argval=1, argrepr='1', offset=230, start_offset=230, starts_line=True, line_number=21, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=7, argval=0, argrepr='0', offset=232, start_offset=232, starts_line=False, line_number=21, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BINARY_OP', opcode=68, arg=11, argval=11, argrepr='/', offset=234, start_offset=234, starts_line=False, line_number=21, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=238, start_offset=238, starts_line=False, line_number=21, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=240, start_offset=240, starts_line=True, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RESUME', opcode=149, arg=0, argval=0, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=1, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=1, argval='range', argrepr='range + NULL', offset=2, start_offset=2, starts_line=True, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=1, argval=10, argrepr='10', offset=12, start_offset=12, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=14, start_offset=14, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='GET_ITER', opcode=19, arg=None, argval=None, argrepr='', offset=22, start_offset=22, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='FOR_ITER', opcode=71, arg=30, argval=88, argrepr='to 88', offset=24, start_offset=24, starts_line=False, line_number=3, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='STORE_FAST', opcode=110, arg=0, argval='i', argrepr='i', offset=28, start_offset=28, starts_line=False, line_number=3, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=30, start_offset=30, starts_line=True, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=40, start_offset=40, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=42, start_offset=42, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=50, start_offset=50, starts_line=False, line_number=4, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=52, start_offset=52, starts_line=True, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=2, argval=4, argrepr='4', offset=54, start_offset=54, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COMPARE_OP', opcode=57, arg=18, argval='<', argrepr='bool(<)', offset=56, start_offset=56, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=2, argval=68, argrepr='to 68', offset=60, start_offset=60, starts_line=False, line_number=5, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=76, arg=22, argval=24, argrepr='to 24', offset=64, start_offset=64, starts_line=True, line_number=6, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=68, start_offset=68, starts_line=True, line_number=7, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=3, argval=6, argrepr='6', offset=70, start_offset=70, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COMPARE_OP', opcode=57, arg=148, argval='>', argrepr='bool(>)', offset=72, start_offset=72, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_TRUE', opcode=100, arg=2, argval=84, argrepr='to 84', offset=76, start_offset=76, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=76, arg=30, argval=24, argrepr='to 24', offset=80, start_offset=80, starts_line=False, line_number=7, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=84, start_offset=84, starts_line=True, line_number=8, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='JUMP_FORWARD', opcode=78, arg=12, argval=112, argrepr='to 112', offset=86, start_offset=86, starts_line=False, line_number=8, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='END_FOR', opcode=11, arg=None, argval=None, argrepr='', offset=88, start_offset=88, starts_line=True, line_number=3, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=90, start_offset=90, starts_line=True, line_number=10, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=4, argval='I can haz else clause?', argrepr="'I can haz else clause?'", offset=100, start_offset=100, starts_line=False, line_number=10, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=102, start_offset=102, starts_line=False, line_number=10, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=110, start_offset=110, starts_line=False, line_number=10, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST_CHECK', opcode=87, arg=0, argval='i', argrepr='i', offset=112, start_offset=112, starts_line=True, line_number=11, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='TO_BOOL', opcode=40, arg=None, argval=None, argrepr='', offset=114, start_offset=114, starts_line=False, line_number=11, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=40, argval=206, argrepr='to 206', offset=122, start_offset=122, starts_line=False, line_number=11, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=126, start_offset=126, starts_line=True, line_number=12, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=136, start_offset=136, starts_line=False, line_number=12, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=138, start_offset=138, starts_line=False, line_number=12, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=146, start_offset=146, starts_line=False, line_number=12, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=148, start_offset=148, starts_line=True, line_number=13, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=5, argval=1, argrepr='1', offset=150, start_offset=150, starts_line=False, line_number=13, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BINARY_OP', opcode=45, arg=23, argval=23, argrepr='-=', offset=152, start_offset=152, starts_line=False, line_number=13, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='STORE_FAST', opcode=110, arg=0, argval='i', argrepr='i', offset=156, start_offset=156, starts_line=False, line_number=13, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=158, start_offset=158, starts_line=True, line_number=14, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=3, argval=6, argrepr='6', offset=160, start_offset=160, starts_line=False, line_number=14, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COMPARE_OP', opcode=57, arg=148, argval='>', argrepr='bool(>)', offset=162, start_offset=162, starts_line=False, line_number=14, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=2, argval=174, argrepr='to 174', offset=166, start_offset=166, starts_line=False, line_number=14, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=76, arg=31, argval=112, argrepr='to 112', offset=170, start_offset=170, starts_line=True, line_number=15, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=174, start_offset=174, starts_line=True, line_number=16, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=2, argval=4, argrepr='4', offset=176, start_offset=176, starts_line=False, line_number=16, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COMPARE_OP', opcode=57, arg=18, argval='<', argrepr='bool(<)', offset=178, start_offset=178, starts_line=False, line_number=16, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=1, argval=188, argrepr='to 188', offset=182, start_offset=182, starts_line=False, line_number=16, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_FORWARD', opcode=78, arg=20, argval=228, argrepr='to 228', offset=186, start_offset=186, starts_line=True, line_number=17, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=188, start_offset=188, starts_line=True, line_number=11, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='TO_BOOL', opcode=40, arg=None, argval=None, argrepr='', offset=190, start_offset=190, starts_line=False, line_number=11, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=2, argval=206, argrepr='to 206', offset=198, start_offset=198, starts_line=False, line_number=11, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=76, arg=40, argval=126, argrepr='to 126', offset=202, start_offset=202, starts_line=False, line_number=11, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=206, start_offset=206, starts_line=True, line_number=19, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=6, argval='Who let lolcatz into this test suite?', argrepr="'Who let lolcatz into this test suite?'", offset=216, start_offset=216, starts_line=False, line_number=19, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=218, start_offset=218, starts_line=False, line_number=19, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=226, start_offset=226, starts_line=False, line_number=19, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='NOP', opcode=30, arg=None, argval=None, argrepr='', offset=228, start_offset=228, starts_line=True, line_number=20, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=5, argval=1, argrepr='1', offset=230, start_offset=230, starts_line=True, line_number=21, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=7, argval=0, argrepr='0', offset=232, start_offset=232, starts_line=False, line_number=21, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BINARY_OP', opcode=45, arg=11, argval=11, argrepr='/', offset=234, start_offset=234, starts_line=False, line_number=21, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=238, start_offset=238, starts_line=False, line_number=21, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=240, start_offset=240, starts_line=True, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='BEFORE_WITH', opcode=2, arg=None, argval=None, argrepr='', offset=242, start_offset=242, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='STORE_FAST', opcode=177, arg=1, argval='dodgy', argrepr='dodgy', offset=244, start_offset=244, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=246, start_offset=246, starts_line=True, line_number=26, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=8, argval='Never reach this', argrepr="'Never reach this'", offset=256, start_offset=256, starts_line=False, line_number=26, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=258, start_offset=258, starts_line=False, line_number=26, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=266, start_offset=266, starts_line=False, line_number=26, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=0, argval=None, argrepr='None', offset=268, start_offset=268, starts_line=True, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=0, argval=None, argrepr='None', offset=270, start_offset=270, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=0, argval=None, argrepr='None', offset=272, start_offset=272, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=2, argval=2, argrepr='', offset=274, start_offset=274, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=282, start_offset=282, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=284, start_offset=284, starts_line=True, line_number=28, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=10, argval="OK, now we're done", argrepr='"OK, now we\'re done"', offset=294, start_offset=294, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=296, start_offset=296, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=304, start_offset=304, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RETURN_CONST', opcode=168, arg=0, argval=None, argrepr='None', offset=306, start_offset=306, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='PUSH_EXC_INFO', opcode=45, arg=None, argval=None, argrepr='', offset=308, start_offset=308, starts_line=True, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='WITH_EXCEPT_START', opcode=67, arg=None, argval=None, argrepr='', offset=310, start_offset=310, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='TO_BOOL', opcode=57, arg=None, argval=None, argrepr='', offset=312, start_offset=312, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_TRUE', opcode=164, arg=1, argval=326, argrepr='to 326', offset=320, start_offset=320, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=167, arg=2, argval=2, argrepr='', offset=324, start_offset=324, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=326, start_offset=326, starts_line=False, line_number=25, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='POP_EXCEPT', opcode=43, arg=None, argval=None, argrepr='', offset=328, start_offset=328, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=330, start_offset=330, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=332, start_offset=332, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=124, arg=27, argval=284, argrepr='to 284', offset=334, start_offset=334, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COPY', opcode=104, arg=3, argval=3, argrepr='', offset=338, start_offset=338, starts_line=True, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_EXCEPT', opcode=43, arg=None, argval=None, argrepr='', offset=340, start_offset=340, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=167, arg=1, argval=1, argrepr='', offset=342, start_offset=342, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='PUSH_EXC_INFO', opcode=45, arg=None, argval=None, argrepr='', offset=344, start_offset=344, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=4, argval='ZeroDivisionError', argrepr='ZeroDivisionError', offset=346, start_offset=346, starts_line=True, line_number=22, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CHECK_EXC_MATCH', opcode=20, arg=None, argval=None, argrepr='', offset=356, start_offset=356, starts_line=False, line_number=22, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=15, argval=392, argrepr='to 392', offset=358, start_offset=358, starts_line=False, line_number=22, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=362, start_offset=362, starts_line=False, line_number=22, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=364, start_offset=364, starts_line=True, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=9, argval='Here we go, here we go, here we go...', argrepr="'Here we go, here we go, here we go...'", offset=374, start_offset=374, starts_line=False, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=376, start_offset=376, starts_line=False, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=384, start_offset=384, starts_line=False, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_EXCEPT', opcode=43, arg=None, argval=None, argrepr='', offset=386, start_offset=386, starts_line=False, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=124, arg=54, argval=284, argrepr='to 284', offset=388, start_offset=388, starts_line=False, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=167, arg=0, argval=0, argrepr='', offset=392, start_offset=392, starts_line=True, line_number=22, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='COPY', opcode=104, arg=3, argval=3, argrepr='', offset=394, start_offset=394, starts_line=True, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_EXCEPT', opcode=43, arg=None, argval=None, argrepr='', offset=396, start_offset=396, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=167, arg=1, argval=1, argrepr='', offset=398, start_offset=398, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='PUSH_EXC_INFO', opcode=45, arg=None, argval=None, argrepr='', offset=400, start_offset=400, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=402, start_offset=402, starts_line=True, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=143, arg=10, argval="OK, now we're done", argrepr='"OK, now we\'re done"', offset=412, start_offset=412, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=414, start_offset=414, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=422, start_offset=422, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=167, arg=0, argval=0, argrepr='', offset=424, start_offset=424, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COPY', opcode=104, arg=3, argval=3, argrepr='', offset=426, start_offset=426, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_EXCEPT', opcode=43, arg=None, argval=None, argrepr='', offset=428, start_offset=428, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=167, arg=1, argval=1, argrepr='', offset=430, start_offset=430, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='STORE_FAST', opcode=110, arg=1, argval='dodgy', argrepr='dodgy', offset=244, start_offset=244, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=246, start_offset=246, starts_line=True, line_number=26, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=8, argval='Never reach this', argrepr="'Never reach this'", offset=256, start_offset=256, starts_line=False, line_number=26, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=258, start_offset=258, starts_line=False, line_number=26, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=266, start_offset=266, starts_line=False, line_number=26, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=0, argval=None, argrepr='None', offset=268, start_offset=268, starts_line=True, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=0, argval=None, argrepr='None', offset=270, start_offset=270, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=0, argval=None, argrepr='None', offset=272, start_offset=272, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=2, argval=2, argrepr='', offset=274, start_offset=274, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=282, start_offset=282, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=284, start_offset=284, starts_line=True, line_number=28, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=10, argval="OK, now we're done", argrepr='"OK, now we\'re done"', offset=294, start_offset=294, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=296, start_offset=296, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=304, start_offset=304, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RETURN_CONST', opcode=103, arg=0, argval=None, argrepr='None', offset=306, start_offset=306, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='PUSH_EXC_INFO', opcode=33, arg=None, argval=None, argrepr='', offset=308, start_offset=308, starts_line=True, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='WITH_EXCEPT_START', opcode=44, arg=None, argval=None, argrepr='', offset=310, start_offset=310, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='TO_BOOL', opcode=40, arg=None, argval=None, argrepr='', offset=312, start_offset=312, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_TRUE', opcode=100, arg=1, argval=326, argrepr='to 326', offset=320, start_offset=320, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=102, arg=2, argval=2, argrepr='', offset=324, start_offset=324, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=326, start_offset=326, starts_line=False, line_number=25, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='POP_EXCEPT', opcode=31, arg=None, argval=None, argrepr='', offset=328, start_offset=328, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=330, start_offset=330, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=332, start_offset=332, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=76, arg=27, argval=284, argrepr='to 284', offset=334, start_offset=334, starts_line=False, line_number=25, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COPY', opcode=60, arg=3, argval=3, argrepr='', offset=338, start_offset=338, starts_line=True, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_EXCEPT', opcode=31, arg=None, argval=None, argrepr='', offset=340, start_offset=340, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='', offset=342, start_offset=342, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='PUSH_EXC_INFO', opcode=33, arg=None, argval=None, argrepr='', offset=344, start_offset=344, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=4, argval='ZeroDivisionError', argrepr='ZeroDivisionError', offset=346, start_offset=346, starts_line=True, line_number=22, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CHECK_EXC_MATCH', opcode=7, arg=None, argval=None, argrepr='', offset=356, start_offset=356, starts_line=False, line_number=22, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=15, argval=392, argrepr='to 392', offset=358, start_offset=358, starts_line=False, line_number=22, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=362, start_offset=362, starts_line=False, line_number=22, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=364, start_offset=364, starts_line=True, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=9, argval='Here we go, here we go, here we go...', argrepr="'Here we go, here we go, here we go...'", offset=374, start_offset=374, starts_line=False, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=376, start_offset=376, starts_line=False, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=384, start_offset=384, starts_line=False, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_EXCEPT', opcode=31, arg=None, argval=None, argrepr='', offset=386, start_offset=386, starts_line=False, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='JUMP_BACKWARD', opcode=76, arg=54, argval=284, argrepr='to 284', offset=388, start_offset=388, starts_line=False, line_number=23, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=102, arg=0, argval=0, argrepr='', offset=392, start_offset=392, starts_line=True, line_number=22, is_jump_target=True, positions=None), | ||||
|   Instruction(opname='COPY', opcode=60, arg=3, argval=3, argrepr='', offset=394, start_offset=394, starts_line=True, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_EXCEPT', opcode=31, arg=None, argval=None, argrepr='', offset=396, start_offset=396, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='', offset=398, start_offset=398, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='PUSH_EXC_INFO', opcode=33, arg=None, argval=None, argrepr='', offset=400, start_offset=400, starts_line=False, line_number=None, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=402, start_offset=402, starts_line=True, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='LOAD_CONST', opcode=83, arg=10, argval="OK, now we're done", argrepr='"OK, now we\'re done"', offset=412, start_offset=412, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=414, start_offset=414, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=422, start_offset=422, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=102, arg=0, argval=0, argrepr='', offset=424, start_offset=424, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='COPY', opcode=60, arg=3, argval=3, argrepr='', offset=426, start_offset=426, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='POP_EXCEPT', opcode=31, arg=None, argval=None, argrepr='', offset=428, start_offset=428, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='', offset=430, start_offset=430, starts_line=False, line_number=28, is_jump_target=False, positions=None), | ||||
| ] | ||||
| 
 | ||||
| # One last piece of inspect fodder to check the default line number handling | ||||
| def simple(): pass | ||||
| expected_opinfo_simple = [ | ||||
|   Instruction(opname='RESUME', opcode=166, arg=0, argval=0, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=simple.__code__.co_firstlineno, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RETURN_CONST', opcode=168, arg=0, argval=None, argrepr='None', offset=2, start_offset=2, starts_line=False, line_number=simple.__code__.co_firstlineno, is_jump_target=False), | ||||
|   Instruction(opname='RESUME', opcode=149, arg=0, argval=0, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=simple.__code__.co_firstlineno, is_jump_target=False, positions=None), | ||||
|   Instruction(opname='RETURN_CONST', opcode=103, arg=0, argval=None, argrepr='None', offset=2, start_offset=2, starts_line=False, line_number=simple.__code__.co_firstlineno, is_jump_target=False), | ||||
| ] | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -0,0 +1,2 @@ | |||
| Opcode IDs for specialized opcodes are allocated in their own range to | ||||
| improve stability of the IDs for the 'real' opcodes. | ||||
							
								
								
									
										22
									
								
								Programs/test_frozenmain.h
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										22
									
								
								Programs/test_frozenmain.h
									
										
									
										generated
									
									
									
								
							|  | @ -1,17 +1,17 @@ | |||
| // Auto-generated by Programs/freeze_test_frozenmain.py
 | ||||
| unsigned char M_test_frozenmain[] = { | ||||
|     227,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0, | ||||
|     0,0,0,0,0,243,164,0,0,0,166,0,143,0,143,1, | ||||
|     122,0,181,0,143,0,143,1,122,1,181,1,154,2,46,0, | ||||
|     143,2,76,1,0,0,0,0,0,0,44,0,154,2,46,0, | ||||
|     143,3,154,0,130,6,0,0,0,0,0,0,0,0,0,0, | ||||
|     0,0,0,0,0,0,0,0,76,2,0,0,0,0,0,0, | ||||
|     44,0,154,1,130,8,0,0,0,0,0,0,0,0,0,0, | ||||
|     0,0,0,0,0,0,0,0,46,0,76,0,0,0,0,0, | ||||
|     0,0,143,4,12,0,0,0,181,5,143,5,31,0,115,20, | ||||
|     0,0,181,6,154,2,46,0,143,6,154,6,27,0,143,7, | ||||
|     154,5,154,6,12,0,0,0,27,0,74,4,76,1,0,0, | ||||
|     0,0,0,0,44,0,124,22,0,0,24,0,168,1,41,8, | ||||
|     0,0,0,0,0,243,164,0,0,0,149,0,83,0,83,1, | ||||
|     74,0,114,0,83,0,83,1,74,1,114,1,92,2,34,0, | ||||
|     83,2,53,1,0,0,0,0,0,0,32,0,92,2,34,0, | ||||
|     83,3,92,0,82,6,0,0,0,0,0,0,0,0,0,0, | ||||
|     0,0,0,0,0,0,0,0,53,2,0,0,0,0,0,0, | ||||
|     32,0,92,1,82,8,0,0,0,0,0,0,0,0,0,0, | ||||
|     0,0,0,0,0,0,0,0,34,0,53,0,0,0,0,0, | ||||
|     0,0,83,4,5,0,0,0,114,5,83,5,19,0,71,20, | ||||
|     0,0,114,6,92,2,34,0,83,6,92,6,14,0,83,7, | ||||
|     92,5,92,6,5,0,0,0,14,0,51,4,53,1,0,0, | ||||
|     0,0,0,0,32,0,76,22,0,0,11,0,103,1,41,8, | ||||
|     233,0,0,0,0,78,122,18,70,114,111,122,101,110,32,72, | ||||
|     101,108,108,111,32,87,111,114,108,100,122,8,115,121,115,46, | ||||
|     97,114,103,118,218,6,99,111,110,102,105,103,41,5,218,12, | ||||
|  |  | |||
							
								
								
									
										142
									
								
								Python/opcode_targets.h
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										142
									
								
								Python/opcode_targets.h
									
										
									
										generated
									
									
									
								
							|  | @ -2,22 +2,9 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_CACHE, | ||||
|     &&TARGET_BEFORE_ASYNC_WITH, | ||||
|     &&TARGET_BEFORE_WITH, | ||||
|     &&TARGET_BINARY_OP_ADD_FLOAT, | ||||
|     &&TARGET_BINARY_OP_ADD_INT, | ||||
|     &&TARGET_BINARY_OP_ADD_UNICODE, | ||||
|     &&TARGET_BINARY_OP_INPLACE_ADD_UNICODE, | ||||
|     &&TARGET_BINARY_OP_MULTIPLY_FLOAT, | ||||
|     &&TARGET_BINARY_OP_MULTIPLY_INT, | ||||
|     &&TARGET_BINARY_OP_SUBTRACT_FLOAT, | ||||
|     &&TARGET_BINARY_OP_SUBTRACT_INT, | ||||
|     &&TARGET_BINARY_SLICE, | ||||
|     &&TARGET_BINARY_SUBSCR, | ||||
|     &&TARGET_BINARY_SUBSCR_DICT, | ||||
|     &&TARGET_BINARY_SUBSCR_GETITEM, | ||||
|     &&TARGET_BINARY_SUBSCR_LIST_INT, | ||||
|     &&TARGET_BINARY_SUBSCR_STR_INT, | ||||
|     &&TARGET_RESERVED, | ||||
|     &&TARGET_BINARY_SUBSCR_TUPLE_INT, | ||||
|     &&TARGET_CHECK_EG_MATCH, | ||||
|     &&TARGET_CHECK_EXC_MATCH, | ||||
|     &&TARGET_CLEANUP_THROW, | ||||
|  | @ -29,6 +16,7 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_FORMAT_SIMPLE, | ||||
|     &&TARGET_FORMAT_WITH_SPEC, | ||||
|     &&TARGET_GET_AITER, | ||||
|     &&TARGET_RESERVED, | ||||
|     &&TARGET_GET_ANEXT, | ||||
|     &&TARGET_GET_ITER, | ||||
|     &&TARGET_GET_LEN, | ||||
|  | @ -46,23 +34,12 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_POP_TOP, | ||||
|     &&TARGET_PUSH_EXC_INFO, | ||||
|     &&TARGET_PUSH_NULL, | ||||
|     &&TARGET_RESUME_CHECK, | ||||
|     &&TARGET_RETURN_GENERATOR, | ||||
|     &&TARGET_RETURN_VALUE, | ||||
|     &&TARGET_SETUP_ANNOTATIONS, | ||||
|     &&TARGET_STORE_ATTR_INSTANCE_VALUE, | ||||
|     &&TARGET_STORE_ATTR_SLOT, | ||||
|     &&TARGET_STORE_SLICE, | ||||
|     &&TARGET_STORE_SUBSCR, | ||||
|     &&TARGET_STORE_SUBSCR_DICT, | ||||
|     &&TARGET_STORE_SUBSCR_LIST_INT, | ||||
|     &&TARGET_TO_BOOL, | ||||
|     &&TARGET_TO_BOOL_ALWAYS_TRUE, | ||||
|     &&TARGET_TO_BOOL_BOOL, | ||||
|     &&TARGET_TO_BOOL_INT, | ||||
|     &&TARGET_TO_BOOL_LIST, | ||||
|     &&TARGET_TO_BOOL_NONE, | ||||
|     &&TARGET_TO_BOOL_STR, | ||||
|     &&TARGET_UNARY_INVERT, | ||||
|     &&TARGET_UNARY_NEGATIVE, | ||||
|     &&TARGET_UNARY_NOT, | ||||
|  | @ -76,31 +53,10 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_BUILD_STRING, | ||||
|     &&TARGET_BUILD_TUPLE, | ||||
|     &&TARGET_CALL, | ||||
|     &&TARGET_CALL_BOUND_METHOD_EXACT_ARGS, | ||||
|     &&TARGET_CALL_BUILTIN_CLASS, | ||||
|     &&TARGET_CALL_BUILTIN_FAST_WITH_KEYWORDS, | ||||
|     &&TARGET_CALL_FUNCTION_EX, | ||||
|     &&TARGET_CALL_INTRINSIC_1, | ||||
|     &&TARGET_CALL_INTRINSIC_2, | ||||
|     &&TARGET_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS, | ||||
|     &&TARGET_CALL_NO_KW_ALLOC_AND_ENTER_INIT, | ||||
|     &&TARGET_CALL_NO_KW_BUILTIN_FAST, | ||||
|     &&TARGET_CALL_NO_KW_BUILTIN_O, | ||||
|     &&TARGET_CALL_NO_KW_ISINSTANCE, | ||||
|     &&TARGET_CALL_NO_KW_LEN, | ||||
|     &&TARGET_CALL_NO_KW_LIST_APPEND, | ||||
|     &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_FAST, | ||||
|     &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS, | ||||
|     &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_O, | ||||
|     &&TARGET_CALL_NO_KW_STR_1, | ||||
|     &&TARGET_CALL_NO_KW_TUPLE_1, | ||||
|     &&TARGET_CALL_NO_KW_TYPE_1, | ||||
|     &&TARGET_CALL_PY_EXACT_ARGS, | ||||
|     &&TARGET_CALL_PY_WITH_DEFAULTS, | ||||
|     &&TARGET_COMPARE_OP, | ||||
|     &&TARGET_COMPARE_OP_FLOAT, | ||||
|     &&TARGET_COMPARE_OP_INT, | ||||
|     &&TARGET_COMPARE_OP_STR, | ||||
|     &&TARGET_CONTAINS_OP, | ||||
|     &&TARGET_CONVERT_VALUE, | ||||
|     &&TARGET_COPY, | ||||
|  | @ -115,10 +71,6 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_ENTER_EXECUTOR, | ||||
|     &&TARGET_EXTENDED_ARG, | ||||
|     &&TARGET_FOR_ITER, | ||||
|     &&TARGET_FOR_ITER_GEN, | ||||
|     &&TARGET_FOR_ITER_LIST, | ||||
|     &&TARGET_FOR_ITER_RANGE, | ||||
|     &&TARGET_FOR_ITER_TUPLE, | ||||
|     &&TARGET_GET_AWAITABLE, | ||||
|     &&TARGET_IMPORT_FROM, | ||||
|     &&TARGET_IMPORT_NAME, | ||||
|  | @ -130,18 +82,6 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_LIST_APPEND, | ||||
|     &&TARGET_LIST_EXTEND, | ||||
|     &&TARGET_LOAD_ATTR, | ||||
|     &&TARGET_LOAD_ATTR_CLASS, | ||||
|     &&TARGET_LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN, | ||||
|     &&TARGET_LOAD_ATTR_INSTANCE_VALUE, | ||||
|     &&TARGET_LOAD_ATTR_METHOD_LAZY_DICT, | ||||
|     &&TARGET_LOAD_ATTR_METHOD_NO_DICT, | ||||
|     &&TARGET_LOAD_ATTR_METHOD_WITH_VALUES, | ||||
|     &&TARGET_LOAD_ATTR_MODULE, | ||||
|     &&TARGET_LOAD_ATTR_NONDESCRIPTOR_NO_DICT, | ||||
|     &&TARGET_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES, | ||||
|     &&TARGET_LOAD_ATTR_PROPERTY, | ||||
|     &&TARGET_LOAD_ATTR_SLOT, | ||||
|     &&TARGET_LOAD_ATTR_WITH_HINT, | ||||
|     &&TARGET_LOAD_CONST, | ||||
|     &&TARGET_LOAD_DEREF, | ||||
|     &&TARGET_LOAD_FAST, | ||||
|  | @ -151,12 +91,8 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_LOAD_FROM_DICT_OR_DEREF, | ||||
|     &&TARGET_LOAD_FROM_DICT_OR_GLOBALS, | ||||
|     &&TARGET_LOAD_GLOBAL, | ||||
|     &&TARGET_LOAD_GLOBAL_BUILTIN, | ||||
|     &&TARGET_LOAD_GLOBAL_MODULE, | ||||
|     &&TARGET_LOAD_NAME, | ||||
|     &&TARGET_LOAD_SUPER_ATTR, | ||||
|     &&TARGET_LOAD_SUPER_ATTR_ATTR, | ||||
|     &&TARGET_LOAD_SUPER_ATTR_METHOD, | ||||
|     &&TARGET_MAKE_CELL, | ||||
|     &&TARGET_MAP_ADD, | ||||
|     &&TARGET_MATCH_CLASS, | ||||
|  | @ -165,16 +101,13 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_POP_JUMP_IF_NOT_NONE, | ||||
|     &&TARGET_POP_JUMP_IF_TRUE, | ||||
|     &&TARGET_RAISE_VARARGS, | ||||
|     &&TARGET_RESUME, | ||||
|     &&TARGET_RERAISE, | ||||
|     &&TARGET_RETURN_CONST, | ||||
|     &&TARGET_SEND, | ||||
|     &&TARGET_SEND_GEN, | ||||
|     &&TARGET_SET_ADD, | ||||
|     &&TARGET_SET_FUNCTION_ATTRIBUTE, | ||||
|     &&TARGET_SET_UPDATE, | ||||
|     &&TARGET_STORE_ATTR, | ||||
|     &&TARGET_STORE_ATTR_WITH_HINT, | ||||
|     &&TARGET_STORE_DEREF, | ||||
|     &&TARGET_STORE_FAST, | ||||
|     &&TARGET_STORE_FAST_LOAD_FAST, | ||||
|  | @ -184,9 +117,6 @@ static void *opcode_targets[256] = { | |||
|     &&TARGET_SWAP, | ||||
|     &&TARGET_UNPACK_EX, | ||||
|     &&TARGET_UNPACK_SEQUENCE, | ||||
|     &&TARGET_UNPACK_SEQUENCE_LIST, | ||||
|     &&TARGET_UNPACK_SEQUENCE_TUPLE, | ||||
|     &&TARGET_UNPACK_SEQUENCE_TWO_TUPLE, | ||||
|     &&TARGET_YIELD_VALUE, | ||||
|     &&_unknown_opcode, | ||||
|     &&_unknown_opcode, | ||||
|  | @ -218,6 +148,76 @@ static void *opcode_targets[256] = { | |||
|     &&_unknown_opcode, | ||||
|     &&_unknown_opcode, | ||||
|     &&_unknown_opcode, | ||||
|     &&TARGET_RESUME, | ||||
|     &&TARGET_BINARY_OP_ADD_FLOAT, | ||||
|     &&TARGET_BINARY_OP_ADD_INT, | ||||
|     &&TARGET_BINARY_OP_ADD_UNICODE, | ||||
|     &&TARGET_BINARY_OP_MULTIPLY_FLOAT, | ||||
|     &&TARGET_BINARY_OP_MULTIPLY_INT, | ||||
|     &&TARGET_BINARY_OP_SUBTRACT_FLOAT, | ||||
|     &&TARGET_BINARY_OP_SUBTRACT_INT, | ||||
|     &&TARGET_BINARY_SUBSCR_DICT, | ||||
|     &&TARGET_BINARY_SUBSCR_GETITEM, | ||||
|     &&TARGET_BINARY_SUBSCR_LIST_INT, | ||||
|     &&TARGET_BINARY_SUBSCR_STR_INT, | ||||
|     &&TARGET_BINARY_SUBSCR_TUPLE_INT, | ||||
|     &&TARGET_CALL_BOUND_METHOD_EXACT_ARGS, | ||||
|     &&TARGET_CALL_BUILTIN_CLASS, | ||||
|     &&TARGET_CALL_BUILTIN_FAST_WITH_KEYWORDS, | ||||
|     &&TARGET_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS, | ||||
|     &&TARGET_CALL_NO_KW_ALLOC_AND_ENTER_INIT, | ||||
|     &&TARGET_CALL_NO_KW_BUILTIN_FAST, | ||||
|     &&TARGET_CALL_NO_KW_BUILTIN_O, | ||||
|     &&TARGET_CALL_NO_KW_ISINSTANCE, | ||||
|     &&TARGET_CALL_NO_KW_LEN, | ||||
|     &&TARGET_CALL_NO_KW_LIST_APPEND, | ||||
|     &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_FAST, | ||||
|     &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS, | ||||
|     &&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_O, | ||||
|     &&TARGET_CALL_NO_KW_STR_1, | ||||
|     &&TARGET_CALL_NO_KW_TUPLE_1, | ||||
|     &&TARGET_CALL_NO_KW_TYPE_1, | ||||
|     &&TARGET_CALL_PY_EXACT_ARGS, | ||||
|     &&TARGET_CALL_PY_WITH_DEFAULTS, | ||||
|     &&TARGET_COMPARE_OP_FLOAT, | ||||
|     &&TARGET_COMPARE_OP_INT, | ||||
|     &&TARGET_COMPARE_OP_STR, | ||||
|     &&TARGET_FOR_ITER_GEN, | ||||
|     &&TARGET_FOR_ITER_LIST, | ||||
|     &&TARGET_FOR_ITER_RANGE, | ||||
|     &&TARGET_FOR_ITER_TUPLE, | ||||
|     &&TARGET_LOAD_ATTR_CLASS, | ||||
|     &&TARGET_LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN, | ||||
|     &&TARGET_LOAD_ATTR_INSTANCE_VALUE, | ||||
|     &&TARGET_LOAD_ATTR_METHOD_LAZY_DICT, | ||||
|     &&TARGET_LOAD_ATTR_METHOD_NO_DICT, | ||||
|     &&TARGET_LOAD_ATTR_METHOD_WITH_VALUES, | ||||
|     &&TARGET_LOAD_ATTR_MODULE, | ||||
|     &&TARGET_LOAD_ATTR_NONDESCRIPTOR_NO_DICT, | ||||
|     &&TARGET_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES, | ||||
|     &&TARGET_LOAD_ATTR_PROPERTY, | ||||
|     &&TARGET_LOAD_ATTR_SLOT, | ||||
|     &&TARGET_LOAD_ATTR_WITH_HINT, | ||||
|     &&TARGET_LOAD_GLOBAL_BUILTIN, | ||||
|     &&TARGET_LOAD_GLOBAL_MODULE, | ||||
|     &&TARGET_LOAD_SUPER_ATTR_ATTR, | ||||
|     &&TARGET_LOAD_SUPER_ATTR_METHOD, | ||||
|     &&TARGET_RESUME_CHECK, | ||||
|     &&TARGET_SEND_GEN, | ||||
|     &&TARGET_STORE_ATTR_INSTANCE_VALUE, | ||||
|     &&TARGET_STORE_ATTR_SLOT, | ||||
|     &&TARGET_STORE_ATTR_WITH_HINT, | ||||
|     &&TARGET_STORE_SUBSCR_DICT, | ||||
|     &&TARGET_STORE_SUBSCR_LIST_INT, | ||||
|     &&TARGET_TO_BOOL_ALWAYS_TRUE, | ||||
|     &&TARGET_TO_BOOL_BOOL, | ||||
|     &&TARGET_TO_BOOL_INT, | ||||
|     &&TARGET_TO_BOOL_LIST, | ||||
|     &&TARGET_TO_BOOL_NONE, | ||||
|     &&TARGET_TO_BOOL_STR, | ||||
|     &&TARGET_UNPACK_SEQUENCE_LIST, | ||||
|     &&TARGET_UNPACK_SEQUENCE_TUPLE, | ||||
|     &&TARGET_UNPACK_SEQUENCE_TWO_TUPLE, | ||||
|     &&_unknown_opcode, | ||||
|     &&_unknown_opcode, | ||||
|     &&_unknown_opcode, | ||||
|  |  | |||
|  | @ -22,7 +22,7 @@ | |||
| verbose = False | ||||
| 
 | ||||
| # This must be kept in sync with Tools/cases_generator/generate_cases.py | ||||
| RESUME = 166 | ||||
| RESUME = 149 | ||||
| 
 | ||||
| def isprintable(b: bytes) -> bool: | ||||
|     return all(0x20 <= c < 0x7f for c in b) | ||||
|  |  | |||
|  | @ -255,12 +255,18 @@ def assign_opcode_ids(self) -> None: | |||
|         ops: list[tuple[bool, str]] = []  # (has_arg, name) for each opcode | ||||
|         instrumented_ops: list[str] = [] | ||||
| 
 | ||||
|         specialized_ops = set() | ||||
|         for name, family in self.families.items(): | ||||
|             specialized_ops.update(family.members) | ||||
| 
 | ||||
|         for instr in itertools.chain( | ||||
|             [instr for instr in self.instrs.values() if instr.kind != "op"], | ||||
|             self.macro_instrs.values(), | ||||
|         ): | ||||
|             assert isinstance(instr, (Instruction, MacroInstruction, PseudoInstruction)) | ||||
|             name = instr.name | ||||
|             if name in specialized_ops: | ||||
|                 continue | ||||
|             if name.startswith("INSTRUMENTED_"): | ||||
|                 instrumented_ops.append(name) | ||||
|             else: | ||||
|  | @ -282,7 +288,7 @@ def assign_opcode_ids(self) -> None: | |||
| 
 | ||||
|         def map_op(op: int, name: str) -> None: | ||||
|             assert op < len(opname) | ||||
|             assert opname[op] is None | ||||
|             assert opname[op] is None, (op, name) | ||||
|             assert name not in opmap | ||||
|             opname[op] = name | ||||
|             opmap[name] = op | ||||
|  | @ -294,25 +300,31 @@ def map_op(op: int, name: str) -> None: | |||
|         # This helps catch cases where we attempt to execute a cache. | ||||
|         map_op(17, "RESERVED") | ||||
| 
 | ||||
|         # 166 is RESUME - it is hard coded as such in Tools/build/deepfreeze.py | ||||
|         map_op(166, "RESUME") | ||||
|         # 149 is RESUME - it is hard coded as such in Tools/build/deepfreeze.py | ||||
|         map_op(149, "RESUME") | ||||
| 
 | ||||
|         # Specialized ops appear in their own section | ||||
|         # Instrumented opcodes are at the end of the valid range | ||||
|         min_internal = 150 | ||||
|         min_instrumented = 254 - (len(instrumented_ops) - 1) | ||||
|         assert min_internal + len(specialized_ops) < min_instrumented | ||||
| 
 | ||||
|         next_opcode = 1 | ||||
| 
 | ||||
|         for has_arg, name in sorted(ops): | ||||
|             if name in opmap: | ||||
|                 continue  # an anchored name, like CACHE | ||||
|             while opname[next_opcode] is not None: | ||||
|                 next_opcode += 1 | ||||
|             assert next_opcode < 255 | ||||
|             map_op(next_opcode, name) | ||||
| 
 | ||||
|             if has_arg and "HAVE_ARGUMENT" not in markers: | ||||
|                 markers["HAVE_ARGUMENT"] = next_opcode | ||||
| 
 | ||||
|         # Instrumented opcodes are at the end of the valid range | ||||
|         min_instrumented = 254 - (len(instrumented_ops) - 1) | ||||
|         assert next_opcode <= min_instrumented | ||||
|             while opname[next_opcode] is not None: | ||||
|                 next_opcode += 1 | ||||
| 
 | ||||
|         assert next_opcode < min_internal | ||||
| 
 | ||||
|         for i, op in enumerate(sorted(specialized_ops)): | ||||
|             map_op(min_internal + i, op) | ||||
| 
 | ||||
|         markers["MIN_INSTRUMENTED_OPCODE"] = min_instrumented | ||||
|         for i, op in enumerate(instrumented_ops): | ||||
|             map_op(min_instrumented + i, op) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Irit Katriel
						Irit Katriel