Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-11-19 09:50:52

0001 // This file is generated by Tools/cases_generator/uop_metadata_generator.py
0002 // from:
0003 //   Python/bytecodes.c
0004 // Do not edit!
0005 
0006 #ifndef Py_CORE_UOP_METADATA_H
0007 #define Py_CORE_UOP_METADATA_H
0008 #ifdef __cplusplus
0009 extern "C" {
0010 #endif
0011 
0012 #include <stdint.h>
0013 #include "pycore_uop_ids.h"
0014 extern const uint16_t _PyUop_Flags[MAX_UOP_ID+1];
0015 extern const uint8_t _PyUop_Replication[MAX_UOP_ID+1];
0016 extern const char * const _PyOpcode_uop_name[MAX_UOP_ID+1];
0017 
0018 extern int _PyUop_num_popped(int opcode, int oparg);
0019 
0020 #ifdef NEED_OPCODE_METADATA
0021 const uint16_t _PyUop_Flags[MAX_UOP_ID+1] = {
0022     [_NOP] = HAS_PURE_FLAG,
0023     [_RESUME_CHECK] = HAS_DEOPT_FLAG,
0024     [_LOAD_FAST_CHECK] = HAS_ARG_FLAG | HAS_LOCAL_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0025     [_LOAD_FAST_0] = HAS_LOCAL_FLAG | HAS_PURE_FLAG,
0026     [_LOAD_FAST_1] = HAS_LOCAL_FLAG | HAS_PURE_FLAG,
0027     [_LOAD_FAST_2] = HAS_LOCAL_FLAG | HAS_PURE_FLAG,
0028     [_LOAD_FAST_3] = HAS_LOCAL_FLAG | HAS_PURE_FLAG,
0029     [_LOAD_FAST_4] = HAS_LOCAL_FLAG | HAS_PURE_FLAG,
0030     [_LOAD_FAST_5] = HAS_LOCAL_FLAG | HAS_PURE_FLAG,
0031     [_LOAD_FAST_6] = HAS_LOCAL_FLAG | HAS_PURE_FLAG,
0032     [_LOAD_FAST_7] = HAS_LOCAL_FLAG | HAS_PURE_FLAG,
0033     [_LOAD_FAST] = HAS_ARG_FLAG | HAS_LOCAL_FLAG | HAS_PURE_FLAG,
0034     [_LOAD_FAST_AND_CLEAR] = HAS_ARG_FLAG | HAS_LOCAL_FLAG,
0035     [_LOAD_FAST_LOAD_FAST] = HAS_ARG_FLAG | HAS_LOCAL_FLAG,
0036     [_LOAD_CONST] = HAS_ARG_FLAG | HAS_CONST_FLAG | HAS_PURE_FLAG,
0037     [_STORE_FAST_0] = HAS_LOCAL_FLAG,
0038     [_STORE_FAST_1] = HAS_LOCAL_FLAG,
0039     [_STORE_FAST_2] = HAS_LOCAL_FLAG,
0040     [_STORE_FAST_3] = HAS_LOCAL_FLAG,
0041     [_STORE_FAST_4] = HAS_LOCAL_FLAG,
0042     [_STORE_FAST_5] = HAS_LOCAL_FLAG,
0043     [_STORE_FAST_6] = HAS_LOCAL_FLAG,
0044     [_STORE_FAST_7] = HAS_LOCAL_FLAG,
0045     [_STORE_FAST] = HAS_ARG_FLAG | HAS_LOCAL_FLAG,
0046     [_STORE_FAST_LOAD_FAST] = HAS_ARG_FLAG | HAS_LOCAL_FLAG,
0047     [_STORE_FAST_STORE_FAST] = HAS_ARG_FLAG | HAS_LOCAL_FLAG,
0048     [_POP_TOP] = HAS_PURE_FLAG,
0049     [_PUSH_NULL] = HAS_PURE_FLAG,
0050     [_END_SEND] = HAS_PURE_FLAG,
0051     [_UNARY_NEGATIVE] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0052     [_UNARY_NOT] = HAS_PURE_FLAG,
0053     [_TO_BOOL] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0054     [_TO_BOOL_BOOL] = HAS_EXIT_FLAG,
0055     [_TO_BOOL_INT] = HAS_EXIT_FLAG | HAS_ESCAPES_FLAG,
0056     [_TO_BOOL_LIST] = HAS_EXIT_FLAG,
0057     [_TO_BOOL_NONE] = HAS_EXIT_FLAG,
0058     [_TO_BOOL_STR] = HAS_EXIT_FLAG | HAS_ESCAPES_FLAG,
0059     [_REPLACE_WITH_TRUE] = 0,
0060     [_UNARY_INVERT] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0061     [_GUARD_BOTH_INT] = HAS_EXIT_FLAG,
0062     [_GUARD_NOS_INT] = HAS_EXIT_FLAG,
0063     [_GUARD_TOS_INT] = HAS_EXIT_FLAG,
0064     [_BINARY_OP_MULTIPLY_INT] = HAS_ERROR_FLAG | HAS_PURE_FLAG,
0065     [_BINARY_OP_ADD_INT] = HAS_ERROR_FLAG | HAS_PURE_FLAG,
0066     [_BINARY_OP_SUBTRACT_INT] = HAS_ERROR_FLAG | HAS_PURE_FLAG,
0067     [_GUARD_BOTH_FLOAT] = HAS_EXIT_FLAG,
0068     [_GUARD_NOS_FLOAT] = HAS_EXIT_FLAG,
0069     [_GUARD_TOS_FLOAT] = HAS_EXIT_FLAG,
0070     [_BINARY_OP_MULTIPLY_FLOAT] = HAS_PURE_FLAG,
0071     [_BINARY_OP_ADD_FLOAT] = HAS_PURE_FLAG,
0072     [_BINARY_OP_SUBTRACT_FLOAT] = HAS_PURE_FLAG,
0073     [_GUARD_BOTH_UNICODE] = HAS_EXIT_FLAG,
0074     [_BINARY_OP_ADD_UNICODE] = HAS_ERROR_FLAG | HAS_PURE_FLAG,
0075     [_BINARY_SUBSCR] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0076     [_BINARY_SLICE] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0077     [_STORE_SLICE] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0078     [_BINARY_SUBSCR_LIST_INT] = HAS_DEOPT_FLAG,
0079     [_BINARY_SUBSCR_STR_INT] = HAS_DEOPT_FLAG,
0080     [_BINARY_SUBSCR_TUPLE_INT] = HAS_DEOPT_FLAG,
0081     [_BINARY_SUBSCR_DICT] = HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0082     [_LIST_APPEND] = HAS_ARG_FLAG | HAS_ERROR_FLAG,
0083     [_SET_ADD] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0084     [_STORE_SUBSCR] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0085     [_STORE_SUBSCR_LIST_INT] = HAS_DEOPT_FLAG,
0086     [_STORE_SUBSCR_DICT] = HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0087     [_DELETE_SUBSCR] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0088     [_CALL_INTRINSIC_1] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0089     [_CALL_INTRINSIC_2] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0090     [_POP_FRAME] = 0,
0091     [_GET_AITER] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0092     [_GET_ANEXT] = HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0093     [_GET_AWAITABLE] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0094     [_YIELD_VALUE] = HAS_ARG_FLAG | HAS_ESCAPES_FLAG,
0095     [_POP_EXCEPT] = HAS_ESCAPES_FLAG,
0096     [_LOAD_ASSERTION_ERROR] = 0,
0097     [_LOAD_BUILD_CLASS] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0098     [_STORE_NAME] = HAS_ARG_FLAG | HAS_NAME_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0099     [_DELETE_NAME] = HAS_ARG_FLAG | HAS_NAME_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0100     [_UNPACK_SEQUENCE] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0101     [_UNPACK_SEQUENCE_TWO_TUPLE] = HAS_ARG_FLAG | HAS_DEOPT_FLAG,
0102     [_UNPACK_SEQUENCE_TUPLE] = HAS_ARG_FLAG | HAS_DEOPT_FLAG,
0103     [_UNPACK_SEQUENCE_LIST] = HAS_ARG_FLAG | HAS_DEOPT_FLAG,
0104     [_UNPACK_EX] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0105     [_STORE_ATTR] = HAS_ARG_FLAG | HAS_NAME_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0106     [_DELETE_ATTR] = HAS_ARG_FLAG | HAS_NAME_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0107     [_STORE_GLOBAL] = HAS_ARG_FLAG | HAS_NAME_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0108     [_DELETE_GLOBAL] = HAS_ARG_FLAG | HAS_NAME_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0109     [_LOAD_LOCALS] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0110     [_LOAD_GLOBAL] = HAS_ARG_FLAG | HAS_NAME_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0111     [_GUARD_GLOBALS_VERSION] = HAS_DEOPT_FLAG,
0112     [_GUARD_BUILTINS_VERSION] = HAS_DEOPT_FLAG,
0113     [_LOAD_GLOBAL_MODULE] = HAS_ARG_FLAG | HAS_DEOPT_FLAG,
0114     [_LOAD_GLOBAL_BUILTINS] = HAS_ARG_FLAG | HAS_DEOPT_FLAG,
0115     [_DELETE_FAST] = HAS_ARG_FLAG | HAS_LOCAL_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0116     [_MAKE_CELL] = HAS_ARG_FLAG | HAS_FREE_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG,
0117     [_DELETE_DEREF] = HAS_ARG_FLAG | HAS_FREE_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0118     [_LOAD_FROM_DICT_OR_DEREF] = HAS_ARG_FLAG | HAS_FREE_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0119     [_LOAD_DEREF] = HAS_ARG_FLAG | HAS_FREE_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0120     [_STORE_DEREF] = HAS_ARG_FLAG | HAS_FREE_FLAG | HAS_ESCAPES_FLAG,
0121     [_COPY_FREE_VARS] = HAS_ARG_FLAG,
0122     [_BUILD_STRING] = HAS_ARG_FLAG | HAS_ERROR_FLAG,
0123     [_BUILD_TUPLE] = HAS_ARG_FLAG | HAS_ERROR_FLAG,
0124     [_BUILD_LIST] = HAS_ARG_FLAG | HAS_ERROR_FLAG,
0125     [_LIST_EXTEND] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0126     [_SET_UPDATE] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0127     [_BUILD_MAP] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0128     [_SETUP_ANNOTATIONS] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0129     [_BUILD_CONST_KEY_MAP] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0130     [_DICT_UPDATE] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0131     [_DICT_MERGE] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0132     [_MAP_ADD] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0133     [_LOAD_SUPER_ATTR_ATTR] = HAS_ARG_FLAG | HAS_NAME_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0134     [_LOAD_SUPER_ATTR_METHOD] = HAS_ARG_FLAG | HAS_NAME_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0135     [_LOAD_ATTR] = HAS_ARG_FLAG | HAS_NAME_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0136     [_GUARD_TYPE_VERSION] = HAS_EXIT_FLAG,
0137     [_CHECK_MANAGED_OBJECT_HAS_VALUES] = HAS_DEOPT_FLAG,
0138     [_LOAD_ATTR_INSTANCE_VALUE_0] = HAS_DEOPT_FLAG,
0139     [_LOAD_ATTR_INSTANCE_VALUE_1] = HAS_DEOPT_FLAG,
0140     [_LOAD_ATTR_INSTANCE_VALUE] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_OPARG_AND_1_FLAG,
0141     [_CHECK_ATTR_MODULE] = HAS_DEOPT_FLAG,
0142     [_LOAD_ATTR_MODULE] = HAS_ARG_FLAG | HAS_DEOPT_FLAG,
0143     [_CHECK_ATTR_WITH_HINT] = HAS_DEOPT_FLAG,
0144     [_LOAD_ATTR_WITH_HINT] = HAS_ARG_FLAG | HAS_NAME_FLAG | HAS_DEOPT_FLAG,
0145     [_LOAD_ATTR_SLOT_0] = HAS_DEOPT_FLAG,
0146     [_LOAD_ATTR_SLOT_1] = HAS_DEOPT_FLAG,
0147     [_LOAD_ATTR_SLOT] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_OPARG_AND_1_FLAG,
0148     [_CHECK_ATTR_CLASS] = HAS_DEOPT_FLAG,
0149     [_LOAD_ATTR_CLASS_0] = 0,
0150     [_LOAD_ATTR_CLASS_1] = 0,
0151     [_LOAD_ATTR_CLASS] = HAS_ARG_FLAG | HAS_OPARG_AND_1_FLAG,
0152     [_GUARD_DORV_NO_DICT] = HAS_DEOPT_FLAG,
0153     [_STORE_ATTR_INSTANCE_VALUE] = 0,
0154     [_STORE_ATTR_SLOT] = 0,
0155     [_COMPARE_OP] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0156     [_COMPARE_OP_FLOAT] = HAS_ARG_FLAG,
0157     [_COMPARE_OP_INT] = HAS_ARG_FLAG | HAS_DEOPT_FLAG,
0158     [_COMPARE_OP_STR] = HAS_ARG_FLAG,
0159     [_IS_OP] = HAS_ARG_FLAG,
0160     [_CONTAINS_OP] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0161     [_CONTAINS_OP_SET] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0162     [_CONTAINS_OP_DICT] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0163     [_CHECK_EG_MATCH] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0164     [_CHECK_EXC_MATCH] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0165     [_IS_NONE] = 0,
0166     [_GET_LEN] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0167     [_MATCH_CLASS] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0168     [_MATCH_MAPPING] = 0,
0169     [_MATCH_SEQUENCE] = 0,
0170     [_MATCH_KEYS] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0171     [_GET_ITER] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0172     [_GET_YIELD_FROM_ITER] = HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0173     [_FOR_ITER_TIER_TWO] = HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0174     [_ITER_CHECK_LIST] = HAS_EXIT_FLAG,
0175     [_GUARD_NOT_EXHAUSTED_LIST] = HAS_EXIT_FLAG,
0176     [_ITER_NEXT_LIST] = 0,
0177     [_ITER_CHECK_TUPLE] = HAS_EXIT_FLAG,
0178     [_GUARD_NOT_EXHAUSTED_TUPLE] = HAS_EXIT_FLAG,
0179     [_ITER_NEXT_TUPLE] = 0,
0180     [_ITER_CHECK_RANGE] = HAS_EXIT_FLAG,
0181     [_GUARD_NOT_EXHAUSTED_RANGE] = HAS_EXIT_FLAG,
0182     [_ITER_NEXT_RANGE] = HAS_ERROR_FLAG,
0183     [_FOR_ITER_GEN_FRAME] = HAS_ARG_FLAG | HAS_DEOPT_FLAG,
0184     [_WITH_EXCEPT_START] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0185     [_PUSH_EXC_INFO] = 0,
0186     [_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT] = HAS_DEOPT_FLAG,
0187     [_GUARD_KEYS_VERSION] = HAS_DEOPT_FLAG,
0188     [_LOAD_ATTR_METHOD_WITH_VALUES] = HAS_ARG_FLAG,
0189     [_LOAD_ATTR_METHOD_NO_DICT] = HAS_ARG_FLAG,
0190     [_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES] = HAS_ARG_FLAG,
0191     [_LOAD_ATTR_NONDESCRIPTOR_NO_DICT] = HAS_ARG_FLAG,
0192     [_CHECK_ATTR_METHOD_LAZY_DICT] = HAS_DEOPT_FLAG,
0193     [_LOAD_ATTR_METHOD_LAZY_DICT] = HAS_ARG_FLAG,
0194     [_CHECK_PERIODIC] = HAS_EVAL_BREAK_FLAG,
0195     [_PY_FRAME_GENERAL] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0196     [_CHECK_FUNCTION_VERSION] = HAS_ARG_FLAG | HAS_EXIT_FLAG,
0197     [_CHECK_METHOD_VERSION] = HAS_ARG_FLAG | HAS_EXIT_FLAG,
0198     [_EXPAND_METHOD] = HAS_ARG_FLAG,
0199     [_CHECK_IS_NOT_PY_CALLABLE] = HAS_ARG_FLAG | HAS_EXIT_FLAG,
0200     [_CALL_NON_PY_GENERAL] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0201     [_CHECK_CALL_BOUND_METHOD_EXACT_ARGS] = HAS_ARG_FLAG | HAS_EXIT_FLAG,
0202     [_INIT_CALL_BOUND_METHOD_EXACT_ARGS] = HAS_ARG_FLAG,
0203     [_CHECK_PEP_523] = HAS_DEOPT_FLAG,
0204     [_CHECK_FUNCTION_EXACT_ARGS] = HAS_ARG_FLAG | HAS_EXIT_FLAG,
0205     [_CHECK_STACK_SPACE] = HAS_ARG_FLAG | HAS_DEOPT_FLAG,
0206     [_INIT_CALL_PY_EXACT_ARGS_0] = HAS_PURE_FLAG,
0207     [_INIT_CALL_PY_EXACT_ARGS_1] = HAS_PURE_FLAG,
0208     [_INIT_CALL_PY_EXACT_ARGS_2] = HAS_PURE_FLAG,
0209     [_INIT_CALL_PY_EXACT_ARGS_3] = HAS_PURE_FLAG,
0210     [_INIT_CALL_PY_EXACT_ARGS_4] = HAS_PURE_FLAG,
0211     [_INIT_CALL_PY_EXACT_ARGS] = HAS_ARG_FLAG | HAS_PURE_FLAG,
0212     [_PUSH_FRAME] = 0,
0213     [_CALL_TYPE_1] = HAS_ARG_FLAG | HAS_DEOPT_FLAG,
0214     [_CALL_STR_1] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0215     [_CALL_TUPLE_1] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0216     [_EXIT_INIT_CHECK] = HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0217     [_CALL_BUILTIN_CLASS] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0218     [_CALL_BUILTIN_O] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0219     [_CALL_BUILTIN_FAST] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0220     [_CALL_BUILTIN_FAST_WITH_KEYWORDS] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0221     [_CALL_LEN] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0222     [_CALL_ISINSTANCE] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0223     [_CALL_METHOD_DESCRIPTOR_O] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0224     [_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0225     [_CALL_METHOD_DESCRIPTOR_NOARGS] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0226     [_CALL_METHOD_DESCRIPTOR_FAST] = HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0227     [_MAKE_FUNCTION] = HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0228     [_SET_FUNCTION_ATTRIBUTE] = HAS_ARG_FLAG | HAS_ESCAPES_FLAG,
0229     [_RETURN_GENERATOR] = HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
0230     [_BUILD_SLICE] = HAS_ARG_FLAG | HAS_ERROR_FLAG,
0231     [_CONVERT_VALUE] = HAS_ARG_FLAG | HAS_ERROR_FLAG,
0232     [_FORMAT_SIMPLE] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0233     [_FORMAT_WITH_SPEC] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0234     [_COPY] = HAS_ARG_FLAG | HAS_PURE_FLAG,
0235     [_BINARY_OP] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
0236     [_SWAP] = HAS_ARG_FLAG | HAS_PURE_FLAG,
0237     [_GUARD_IS_TRUE_POP] = HAS_EXIT_FLAG,
0238     [_GUARD_IS_FALSE_POP] = HAS_EXIT_FLAG,
0239     [_GUARD_IS_NONE_POP] = HAS_EXIT_FLAG,
0240     [_GUARD_IS_NOT_NONE_POP] = HAS_EXIT_FLAG,
0241     [_JUMP_TO_TOP] = 0,
0242     [_SET_IP] = 0,
0243     [_CHECK_STACK_SPACE_OPERAND] = HAS_DEOPT_FLAG,
0244     [_SAVE_RETURN_OFFSET] = HAS_ARG_FLAG,
0245     [_EXIT_TRACE] = 0,
0246     [_CHECK_VALIDITY] = HAS_DEOPT_FLAG,
0247     [_LOAD_CONST_INLINE] = HAS_PURE_FLAG,
0248     [_LOAD_CONST_INLINE_BORROW] = HAS_PURE_FLAG,
0249     [_POP_TOP_LOAD_CONST_INLINE_BORROW] = HAS_PURE_FLAG,
0250     [_LOAD_CONST_INLINE_WITH_NULL] = HAS_PURE_FLAG,
0251     [_LOAD_CONST_INLINE_BORROW_WITH_NULL] = HAS_PURE_FLAG,
0252     [_CHECK_FUNCTION] = HAS_DEOPT_FLAG,
0253     [_INTERNAL_INCREMENT_OPT_COUNTER] = 0,
0254     [_COLD_EXIT] = HAS_ARG_FLAG | HAS_ESCAPES_FLAG,
0255     [_DYNAMIC_EXIT] = HAS_ARG_FLAG | HAS_ESCAPES_FLAG,
0256     [_START_EXECUTOR] = HAS_DEOPT_FLAG,
0257     [_FATAL_ERROR] = 0,
0258     [_CHECK_VALIDITY_AND_SET_IP] = HAS_DEOPT_FLAG,
0259     [_DEOPT] = 0,
0260     [_ERROR_POP_N] = HAS_ARG_FLAG,
0261     [_TIER2_RESUME_CHECK] = HAS_DEOPT_FLAG,
0262 };
0263 
0264 const uint8_t _PyUop_Replication[MAX_UOP_ID+1] = {
0265     [_LOAD_FAST] = 8,
0266     [_STORE_FAST] = 8,
0267     [_INIT_CALL_PY_EXACT_ARGS] = 5,
0268 };
0269 
0270 const char *const _PyOpcode_uop_name[MAX_UOP_ID+1] = {
0271     [_BINARY_OP] = "_BINARY_OP",
0272     [_BINARY_OP_ADD_FLOAT] = "_BINARY_OP_ADD_FLOAT",
0273     [_BINARY_OP_ADD_INT] = "_BINARY_OP_ADD_INT",
0274     [_BINARY_OP_ADD_UNICODE] = "_BINARY_OP_ADD_UNICODE",
0275     [_BINARY_OP_MULTIPLY_FLOAT] = "_BINARY_OP_MULTIPLY_FLOAT",
0276     [_BINARY_OP_MULTIPLY_INT] = "_BINARY_OP_MULTIPLY_INT",
0277     [_BINARY_OP_SUBTRACT_FLOAT] = "_BINARY_OP_SUBTRACT_FLOAT",
0278     [_BINARY_OP_SUBTRACT_INT] = "_BINARY_OP_SUBTRACT_INT",
0279     [_BINARY_SLICE] = "_BINARY_SLICE",
0280     [_BINARY_SUBSCR] = "_BINARY_SUBSCR",
0281     [_BINARY_SUBSCR_DICT] = "_BINARY_SUBSCR_DICT",
0282     [_BINARY_SUBSCR_LIST_INT] = "_BINARY_SUBSCR_LIST_INT",
0283     [_BINARY_SUBSCR_STR_INT] = "_BINARY_SUBSCR_STR_INT",
0284     [_BINARY_SUBSCR_TUPLE_INT] = "_BINARY_SUBSCR_TUPLE_INT",
0285     [_BUILD_CONST_KEY_MAP] = "_BUILD_CONST_KEY_MAP",
0286     [_BUILD_LIST] = "_BUILD_LIST",
0287     [_BUILD_MAP] = "_BUILD_MAP",
0288     [_BUILD_SLICE] = "_BUILD_SLICE",
0289     [_BUILD_STRING] = "_BUILD_STRING",
0290     [_BUILD_TUPLE] = "_BUILD_TUPLE",
0291     [_CALL_BUILTIN_CLASS] = "_CALL_BUILTIN_CLASS",
0292     [_CALL_BUILTIN_FAST] = "_CALL_BUILTIN_FAST",
0293     [_CALL_BUILTIN_FAST_WITH_KEYWORDS] = "_CALL_BUILTIN_FAST_WITH_KEYWORDS",
0294     [_CALL_BUILTIN_O] = "_CALL_BUILTIN_O",
0295     [_CALL_INTRINSIC_1] = "_CALL_INTRINSIC_1",
0296     [_CALL_INTRINSIC_2] = "_CALL_INTRINSIC_2",
0297     [_CALL_ISINSTANCE] = "_CALL_ISINSTANCE",
0298     [_CALL_LEN] = "_CALL_LEN",
0299     [_CALL_METHOD_DESCRIPTOR_FAST] = "_CALL_METHOD_DESCRIPTOR_FAST",
0300     [_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = "_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS",
0301     [_CALL_METHOD_DESCRIPTOR_NOARGS] = "_CALL_METHOD_DESCRIPTOR_NOARGS",
0302     [_CALL_METHOD_DESCRIPTOR_O] = "_CALL_METHOD_DESCRIPTOR_O",
0303     [_CALL_NON_PY_GENERAL] = "_CALL_NON_PY_GENERAL",
0304     [_CALL_STR_1] = "_CALL_STR_1",
0305     [_CALL_TUPLE_1] = "_CALL_TUPLE_1",
0306     [_CALL_TYPE_1] = "_CALL_TYPE_1",
0307     [_CHECK_ATTR_CLASS] = "_CHECK_ATTR_CLASS",
0308     [_CHECK_ATTR_METHOD_LAZY_DICT] = "_CHECK_ATTR_METHOD_LAZY_DICT",
0309     [_CHECK_ATTR_MODULE] = "_CHECK_ATTR_MODULE",
0310     [_CHECK_ATTR_WITH_HINT] = "_CHECK_ATTR_WITH_HINT",
0311     [_CHECK_CALL_BOUND_METHOD_EXACT_ARGS] = "_CHECK_CALL_BOUND_METHOD_EXACT_ARGS",
0312     [_CHECK_EG_MATCH] = "_CHECK_EG_MATCH",
0313     [_CHECK_EXC_MATCH] = "_CHECK_EXC_MATCH",
0314     [_CHECK_FUNCTION] = "_CHECK_FUNCTION",
0315     [_CHECK_FUNCTION_EXACT_ARGS] = "_CHECK_FUNCTION_EXACT_ARGS",
0316     [_CHECK_FUNCTION_VERSION] = "_CHECK_FUNCTION_VERSION",
0317     [_CHECK_IS_NOT_PY_CALLABLE] = "_CHECK_IS_NOT_PY_CALLABLE",
0318     [_CHECK_MANAGED_OBJECT_HAS_VALUES] = "_CHECK_MANAGED_OBJECT_HAS_VALUES",
0319     [_CHECK_METHOD_VERSION] = "_CHECK_METHOD_VERSION",
0320     [_CHECK_PEP_523] = "_CHECK_PEP_523",
0321     [_CHECK_PERIODIC] = "_CHECK_PERIODIC",
0322     [_CHECK_STACK_SPACE] = "_CHECK_STACK_SPACE",
0323     [_CHECK_STACK_SPACE_OPERAND] = "_CHECK_STACK_SPACE_OPERAND",
0324     [_CHECK_VALIDITY] = "_CHECK_VALIDITY",
0325     [_CHECK_VALIDITY_AND_SET_IP] = "_CHECK_VALIDITY_AND_SET_IP",
0326     [_COLD_EXIT] = "_COLD_EXIT",
0327     [_COMPARE_OP] = "_COMPARE_OP",
0328     [_COMPARE_OP_FLOAT] = "_COMPARE_OP_FLOAT",
0329     [_COMPARE_OP_INT] = "_COMPARE_OP_INT",
0330     [_COMPARE_OP_STR] = "_COMPARE_OP_STR",
0331     [_CONTAINS_OP] = "_CONTAINS_OP",
0332     [_CONTAINS_OP_DICT] = "_CONTAINS_OP_DICT",
0333     [_CONTAINS_OP_SET] = "_CONTAINS_OP_SET",
0334     [_CONVERT_VALUE] = "_CONVERT_VALUE",
0335     [_COPY] = "_COPY",
0336     [_COPY_FREE_VARS] = "_COPY_FREE_VARS",
0337     [_DELETE_ATTR] = "_DELETE_ATTR",
0338     [_DELETE_DEREF] = "_DELETE_DEREF",
0339     [_DELETE_FAST] = "_DELETE_FAST",
0340     [_DELETE_GLOBAL] = "_DELETE_GLOBAL",
0341     [_DELETE_NAME] = "_DELETE_NAME",
0342     [_DELETE_SUBSCR] = "_DELETE_SUBSCR",
0343     [_DEOPT] = "_DEOPT",
0344     [_DICT_MERGE] = "_DICT_MERGE",
0345     [_DICT_UPDATE] = "_DICT_UPDATE",
0346     [_DYNAMIC_EXIT] = "_DYNAMIC_EXIT",
0347     [_END_SEND] = "_END_SEND",
0348     [_ERROR_POP_N] = "_ERROR_POP_N",
0349     [_EXIT_INIT_CHECK] = "_EXIT_INIT_CHECK",
0350     [_EXIT_TRACE] = "_EXIT_TRACE",
0351     [_EXPAND_METHOD] = "_EXPAND_METHOD",
0352     [_FATAL_ERROR] = "_FATAL_ERROR",
0353     [_FORMAT_SIMPLE] = "_FORMAT_SIMPLE",
0354     [_FORMAT_WITH_SPEC] = "_FORMAT_WITH_SPEC",
0355     [_FOR_ITER_GEN_FRAME] = "_FOR_ITER_GEN_FRAME",
0356     [_FOR_ITER_TIER_TWO] = "_FOR_ITER_TIER_TWO",
0357     [_GET_AITER] = "_GET_AITER",
0358     [_GET_ANEXT] = "_GET_ANEXT",
0359     [_GET_AWAITABLE] = "_GET_AWAITABLE",
0360     [_GET_ITER] = "_GET_ITER",
0361     [_GET_LEN] = "_GET_LEN",
0362     [_GET_YIELD_FROM_ITER] = "_GET_YIELD_FROM_ITER",
0363     [_GUARD_BOTH_FLOAT] = "_GUARD_BOTH_FLOAT",
0364     [_GUARD_BOTH_INT] = "_GUARD_BOTH_INT",
0365     [_GUARD_BOTH_UNICODE] = "_GUARD_BOTH_UNICODE",
0366     [_GUARD_BUILTINS_VERSION] = "_GUARD_BUILTINS_VERSION",
0367     [_GUARD_DORV_NO_DICT] = "_GUARD_DORV_NO_DICT",
0368     [_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT] = "_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT",
0369     [_GUARD_GLOBALS_VERSION] = "_GUARD_GLOBALS_VERSION",
0370     [_GUARD_IS_FALSE_POP] = "_GUARD_IS_FALSE_POP",
0371     [_GUARD_IS_NONE_POP] = "_GUARD_IS_NONE_POP",
0372     [_GUARD_IS_NOT_NONE_POP] = "_GUARD_IS_NOT_NONE_POP",
0373     [_GUARD_IS_TRUE_POP] = "_GUARD_IS_TRUE_POP",
0374     [_GUARD_KEYS_VERSION] = "_GUARD_KEYS_VERSION",
0375     [_GUARD_NOS_FLOAT] = "_GUARD_NOS_FLOAT",
0376     [_GUARD_NOS_INT] = "_GUARD_NOS_INT",
0377     [_GUARD_NOT_EXHAUSTED_LIST] = "_GUARD_NOT_EXHAUSTED_LIST",
0378     [_GUARD_NOT_EXHAUSTED_RANGE] = "_GUARD_NOT_EXHAUSTED_RANGE",
0379     [_GUARD_NOT_EXHAUSTED_TUPLE] = "_GUARD_NOT_EXHAUSTED_TUPLE",
0380     [_GUARD_TOS_FLOAT] = "_GUARD_TOS_FLOAT",
0381     [_GUARD_TOS_INT] = "_GUARD_TOS_INT",
0382     [_GUARD_TYPE_VERSION] = "_GUARD_TYPE_VERSION",
0383     [_INIT_CALL_BOUND_METHOD_EXACT_ARGS] = "_INIT_CALL_BOUND_METHOD_EXACT_ARGS",
0384     [_INIT_CALL_PY_EXACT_ARGS] = "_INIT_CALL_PY_EXACT_ARGS",
0385     [_INIT_CALL_PY_EXACT_ARGS_0] = "_INIT_CALL_PY_EXACT_ARGS_0",
0386     [_INIT_CALL_PY_EXACT_ARGS_1] = "_INIT_CALL_PY_EXACT_ARGS_1",
0387     [_INIT_CALL_PY_EXACT_ARGS_2] = "_INIT_CALL_PY_EXACT_ARGS_2",
0388     [_INIT_CALL_PY_EXACT_ARGS_3] = "_INIT_CALL_PY_EXACT_ARGS_3",
0389     [_INIT_CALL_PY_EXACT_ARGS_4] = "_INIT_CALL_PY_EXACT_ARGS_4",
0390     [_INTERNAL_INCREMENT_OPT_COUNTER] = "_INTERNAL_INCREMENT_OPT_COUNTER",
0391     [_IS_NONE] = "_IS_NONE",
0392     [_IS_OP] = "_IS_OP",
0393     [_ITER_CHECK_LIST] = "_ITER_CHECK_LIST",
0394     [_ITER_CHECK_RANGE] = "_ITER_CHECK_RANGE",
0395     [_ITER_CHECK_TUPLE] = "_ITER_CHECK_TUPLE",
0396     [_ITER_NEXT_LIST] = "_ITER_NEXT_LIST",
0397     [_ITER_NEXT_RANGE] = "_ITER_NEXT_RANGE",
0398     [_ITER_NEXT_TUPLE] = "_ITER_NEXT_TUPLE",
0399     [_JUMP_TO_TOP] = "_JUMP_TO_TOP",
0400     [_LIST_APPEND] = "_LIST_APPEND",
0401     [_LIST_EXTEND] = "_LIST_EXTEND",
0402     [_LOAD_ASSERTION_ERROR] = "_LOAD_ASSERTION_ERROR",
0403     [_LOAD_ATTR] = "_LOAD_ATTR",
0404     [_LOAD_ATTR_CLASS] = "_LOAD_ATTR_CLASS",
0405     [_LOAD_ATTR_CLASS_0] = "_LOAD_ATTR_CLASS_0",
0406     [_LOAD_ATTR_CLASS_1] = "_LOAD_ATTR_CLASS_1",
0407     [_LOAD_ATTR_INSTANCE_VALUE] = "_LOAD_ATTR_INSTANCE_VALUE",
0408     [_LOAD_ATTR_INSTANCE_VALUE_0] = "_LOAD_ATTR_INSTANCE_VALUE_0",
0409     [_LOAD_ATTR_INSTANCE_VALUE_1] = "_LOAD_ATTR_INSTANCE_VALUE_1",
0410     [_LOAD_ATTR_METHOD_LAZY_DICT] = "_LOAD_ATTR_METHOD_LAZY_DICT",
0411     [_LOAD_ATTR_METHOD_NO_DICT] = "_LOAD_ATTR_METHOD_NO_DICT",
0412     [_LOAD_ATTR_METHOD_WITH_VALUES] = "_LOAD_ATTR_METHOD_WITH_VALUES",
0413     [_LOAD_ATTR_MODULE] = "_LOAD_ATTR_MODULE",
0414     [_LOAD_ATTR_NONDESCRIPTOR_NO_DICT] = "_LOAD_ATTR_NONDESCRIPTOR_NO_DICT",
0415     [_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES] = "_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES",
0416     [_LOAD_ATTR_SLOT] = "_LOAD_ATTR_SLOT",
0417     [_LOAD_ATTR_SLOT_0] = "_LOAD_ATTR_SLOT_0",
0418     [_LOAD_ATTR_SLOT_1] = "_LOAD_ATTR_SLOT_1",
0419     [_LOAD_ATTR_WITH_HINT] = "_LOAD_ATTR_WITH_HINT",
0420     [_LOAD_BUILD_CLASS] = "_LOAD_BUILD_CLASS",
0421     [_LOAD_CONST] = "_LOAD_CONST",
0422     [_LOAD_CONST_INLINE] = "_LOAD_CONST_INLINE",
0423     [_LOAD_CONST_INLINE_BORROW] = "_LOAD_CONST_INLINE_BORROW",
0424     [_LOAD_CONST_INLINE_BORROW_WITH_NULL] = "_LOAD_CONST_INLINE_BORROW_WITH_NULL",
0425     [_LOAD_CONST_INLINE_WITH_NULL] = "_LOAD_CONST_INLINE_WITH_NULL",
0426     [_LOAD_DEREF] = "_LOAD_DEREF",
0427     [_LOAD_FAST] = "_LOAD_FAST",
0428     [_LOAD_FAST_0] = "_LOAD_FAST_0",
0429     [_LOAD_FAST_1] = "_LOAD_FAST_1",
0430     [_LOAD_FAST_2] = "_LOAD_FAST_2",
0431     [_LOAD_FAST_3] = "_LOAD_FAST_3",
0432     [_LOAD_FAST_4] = "_LOAD_FAST_4",
0433     [_LOAD_FAST_5] = "_LOAD_FAST_5",
0434     [_LOAD_FAST_6] = "_LOAD_FAST_6",
0435     [_LOAD_FAST_7] = "_LOAD_FAST_7",
0436     [_LOAD_FAST_AND_CLEAR] = "_LOAD_FAST_AND_CLEAR",
0437     [_LOAD_FAST_CHECK] = "_LOAD_FAST_CHECK",
0438     [_LOAD_FAST_LOAD_FAST] = "_LOAD_FAST_LOAD_FAST",
0439     [_LOAD_FROM_DICT_OR_DEREF] = "_LOAD_FROM_DICT_OR_DEREF",
0440     [_LOAD_GLOBAL] = "_LOAD_GLOBAL",
0441     [_LOAD_GLOBAL_BUILTINS] = "_LOAD_GLOBAL_BUILTINS",
0442     [_LOAD_GLOBAL_MODULE] = "_LOAD_GLOBAL_MODULE",
0443     [_LOAD_LOCALS] = "_LOAD_LOCALS",
0444     [_LOAD_SUPER_ATTR_ATTR] = "_LOAD_SUPER_ATTR_ATTR",
0445     [_LOAD_SUPER_ATTR_METHOD] = "_LOAD_SUPER_ATTR_METHOD",
0446     [_MAKE_CELL] = "_MAKE_CELL",
0447     [_MAKE_FUNCTION] = "_MAKE_FUNCTION",
0448     [_MAP_ADD] = "_MAP_ADD",
0449     [_MATCH_CLASS] = "_MATCH_CLASS",
0450     [_MATCH_KEYS] = "_MATCH_KEYS",
0451     [_MATCH_MAPPING] = "_MATCH_MAPPING",
0452     [_MATCH_SEQUENCE] = "_MATCH_SEQUENCE",
0453     [_NOP] = "_NOP",
0454     [_POP_EXCEPT] = "_POP_EXCEPT",
0455     [_POP_FRAME] = "_POP_FRAME",
0456     [_POP_TOP] = "_POP_TOP",
0457     [_POP_TOP_LOAD_CONST_INLINE_BORROW] = "_POP_TOP_LOAD_CONST_INLINE_BORROW",
0458     [_PUSH_EXC_INFO] = "_PUSH_EXC_INFO",
0459     [_PUSH_FRAME] = "_PUSH_FRAME",
0460     [_PUSH_NULL] = "_PUSH_NULL",
0461     [_PY_FRAME_GENERAL] = "_PY_FRAME_GENERAL",
0462     [_REPLACE_WITH_TRUE] = "_REPLACE_WITH_TRUE",
0463     [_RESUME_CHECK] = "_RESUME_CHECK",
0464     [_RETURN_GENERATOR] = "_RETURN_GENERATOR",
0465     [_SAVE_RETURN_OFFSET] = "_SAVE_RETURN_OFFSET",
0466     [_SETUP_ANNOTATIONS] = "_SETUP_ANNOTATIONS",
0467     [_SET_ADD] = "_SET_ADD",
0468     [_SET_FUNCTION_ATTRIBUTE] = "_SET_FUNCTION_ATTRIBUTE",
0469     [_SET_IP] = "_SET_IP",
0470     [_SET_UPDATE] = "_SET_UPDATE",
0471     [_START_EXECUTOR] = "_START_EXECUTOR",
0472     [_STORE_ATTR] = "_STORE_ATTR",
0473     [_STORE_ATTR_INSTANCE_VALUE] = "_STORE_ATTR_INSTANCE_VALUE",
0474     [_STORE_ATTR_SLOT] = "_STORE_ATTR_SLOT",
0475     [_STORE_DEREF] = "_STORE_DEREF",
0476     [_STORE_FAST] = "_STORE_FAST",
0477     [_STORE_FAST_0] = "_STORE_FAST_0",
0478     [_STORE_FAST_1] = "_STORE_FAST_1",
0479     [_STORE_FAST_2] = "_STORE_FAST_2",
0480     [_STORE_FAST_3] = "_STORE_FAST_3",
0481     [_STORE_FAST_4] = "_STORE_FAST_4",
0482     [_STORE_FAST_5] = "_STORE_FAST_5",
0483     [_STORE_FAST_6] = "_STORE_FAST_6",
0484     [_STORE_FAST_7] = "_STORE_FAST_7",
0485     [_STORE_FAST_LOAD_FAST] = "_STORE_FAST_LOAD_FAST",
0486     [_STORE_FAST_STORE_FAST] = "_STORE_FAST_STORE_FAST",
0487     [_STORE_GLOBAL] = "_STORE_GLOBAL",
0488     [_STORE_NAME] = "_STORE_NAME",
0489     [_STORE_SLICE] = "_STORE_SLICE",
0490     [_STORE_SUBSCR] = "_STORE_SUBSCR",
0491     [_STORE_SUBSCR_DICT] = "_STORE_SUBSCR_DICT",
0492     [_STORE_SUBSCR_LIST_INT] = "_STORE_SUBSCR_LIST_INT",
0493     [_SWAP] = "_SWAP",
0494     [_TIER2_RESUME_CHECK] = "_TIER2_RESUME_CHECK",
0495     [_TO_BOOL] = "_TO_BOOL",
0496     [_TO_BOOL_BOOL] = "_TO_BOOL_BOOL",
0497     [_TO_BOOL_INT] = "_TO_BOOL_INT",
0498     [_TO_BOOL_LIST] = "_TO_BOOL_LIST",
0499     [_TO_BOOL_NONE] = "_TO_BOOL_NONE",
0500     [_TO_BOOL_STR] = "_TO_BOOL_STR",
0501     [_UNARY_INVERT] = "_UNARY_INVERT",
0502     [_UNARY_NEGATIVE] = "_UNARY_NEGATIVE",
0503     [_UNARY_NOT] = "_UNARY_NOT",
0504     [_UNPACK_EX] = "_UNPACK_EX",
0505     [_UNPACK_SEQUENCE] = "_UNPACK_SEQUENCE",
0506     [_UNPACK_SEQUENCE_LIST] = "_UNPACK_SEQUENCE_LIST",
0507     [_UNPACK_SEQUENCE_TUPLE] = "_UNPACK_SEQUENCE_TUPLE",
0508     [_UNPACK_SEQUENCE_TWO_TUPLE] = "_UNPACK_SEQUENCE_TWO_TUPLE",
0509     [_WITH_EXCEPT_START] = "_WITH_EXCEPT_START",
0510     [_YIELD_VALUE] = "_YIELD_VALUE",
0511 };
0512 int _PyUop_num_popped(int opcode, int oparg)
0513 {
0514     switch(opcode) {
0515         case _NOP:
0516             return 0;
0517         case _RESUME_CHECK:
0518             return 0;
0519         case _LOAD_FAST_CHECK:
0520             return 0;
0521         case _LOAD_FAST_0:
0522             return 0;
0523         case _LOAD_FAST_1:
0524             return 0;
0525         case _LOAD_FAST_2:
0526             return 0;
0527         case _LOAD_FAST_3:
0528             return 0;
0529         case _LOAD_FAST_4:
0530             return 0;
0531         case _LOAD_FAST_5:
0532             return 0;
0533         case _LOAD_FAST_6:
0534             return 0;
0535         case _LOAD_FAST_7:
0536             return 0;
0537         case _LOAD_FAST:
0538             return 0;
0539         case _LOAD_FAST_AND_CLEAR:
0540             return 0;
0541         case _LOAD_FAST_LOAD_FAST:
0542             return 0;
0543         case _LOAD_CONST:
0544             return 0;
0545         case _STORE_FAST_0:
0546             return 1;
0547         case _STORE_FAST_1:
0548             return 1;
0549         case _STORE_FAST_2:
0550             return 1;
0551         case _STORE_FAST_3:
0552             return 1;
0553         case _STORE_FAST_4:
0554             return 1;
0555         case _STORE_FAST_5:
0556             return 1;
0557         case _STORE_FAST_6:
0558             return 1;
0559         case _STORE_FAST_7:
0560             return 1;
0561         case _STORE_FAST:
0562             return 1;
0563         case _STORE_FAST_LOAD_FAST:
0564             return 1;
0565         case _STORE_FAST_STORE_FAST:
0566             return 2;
0567         case _POP_TOP:
0568             return 1;
0569         case _PUSH_NULL:
0570             return 0;
0571         case _END_SEND:
0572             return 2;
0573         case _UNARY_NEGATIVE:
0574             return 1;
0575         case _UNARY_NOT:
0576             return 1;
0577         case _TO_BOOL:
0578             return 1;
0579         case _TO_BOOL_BOOL:
0580             return 1;
0581         case _TO_BOOL_INT:
0582             return 1;
0583         case _TO_BOOL_LIST:
0584             return 1;
0585         case _TO_BOOL_NONE:
0586             return 1;
0587         case _TO_BOOL_STR:
0588             return 1;
0589         case _REPLACE_WITH_TRUE:
0590             return 1;
0591         case _UNARY_INVERT:
0592             return 1;
0593         case _GUARD_BOTH_INT:
0594             return 2;
0595         case _GUARD_NOS_INT:
0596             return 2;
0597         case _GUARD_TOS_INT:
0598             return 1;
0599         case _BINARY_OP_MULTIPLY_INT:
0600             return 2;
0601         case _BINARY_OP_ADD_INT:
0602             return 2;
0603         case _BINARY_OP_SUBTRACT_INT:
0604             return 2;
0605         case _GUARD_BOTH_FLOAT:
0606             return 2;
0607         case _GUARD_NOS_FLOAT:
0608             return 2;
0609         case _GUARD_TOS_FLOAT:
0610             return 1;
0611         case _BINARY_OP_MULTIPLY_FLOAT:
0612             return 2;
0613         case _BINARY_OP_ADD_FLOAT:
0614             return 2;
0615         case _BINARY_OP_SUBTRACT_FLOAT:
0616             return 2;
0617         case _GUARD_BOTH_UNICODE:
0618             return 2;
0619         case _BINARY_OP_ADD_UNICODE:
0620             return 2;
0621         case _BINARY_SUBSCR:
0622             return 2;
0623         case _BINARY_SLICE:
0624             return 3;
0625         case _STORE_SLICE:
0626             return 4;
0627         case _BINARY_SUBSCR_LIST_INT:
0628             return 2;
0629         case _BINARY_SUBSCR_STR_INT:
0630             return 2;
0631         case _BINARY_SUBSCR_TUPLE_INT:
0632             return 2;
0633         case _BINARY_SUBSCR_DICT:
0634             return 2;
0635         case _LIST_APPEND:
0636             return 2 + (oparg-1);
0637         case _SET_ADD:
0638             return 2 + (oparg-1);
0639         case _STORE_SUBSCR:
0640             return 3;
0641         case _STORE_SUBSCR_LIST_INT:
0642             return 3;
0643         case _STORE_SUBSCR_DICT:
0644             return 3;
0645         case _DELETE_SUBSCR:
0646             return 2;
0647         case _CALL_INTRINSIC_1:
0648             return 1;
0649         case _CALL_INTRINSIC_2:
0650             return 2;
0651         case _POP_FRAME:
0652             return 1;
0653         case _GET_AITER:
0654             return 1;
0655         case _GET_ANEXT:
0656             return 1;
0657         case _GET_AWAITABLE:
0658             return 1;
0659         case _YIELD_VALUE:
0660             return 1;
0661         case _POP_EXCEPT:
0662             return 1;
0663         case _LOAD_ASSERTION_ERROR:
0664             return 0;
0665         case _LOAD_BUILD_CLASS:
0666             return 0;
0667         case _STORE_NAME:
0668             return 1;
0669         case _DELETE_NAME:
0670             return 0;
0671         case _UNPACK_SEQUENCE:
0672             return 1;
0673         case _UNPACK_SEQUENCE_TWO_TUPLE:
0674             return 1;
0675         case _UNPACK_SEQUENCE_TUPLE:
0676             return 1;
0677         case _UNPACK_SEQUENCE_LIST:
0678             return 1;
0679         case _UNPACK_EX:
0680             return 1;
0681         case _STORE_ATTR:
0682             return 2;
0683         case _DELETE_ATTR:
0684             return 1;
0685         case _STORE_GLOBAL:
0686             return 1;
0687         case _DELETE_GLOBAL:
0688             return 0;
0689         case _LOAD_LOCALS:
0690             return 0;
0691         case _LOAD_GLOBAL:
0692             return 0;
0693         case _GUARD_GLOBALS_VERSION:
0694             return 0;
0695         case _GUARD_BUILTINS_VERSION:
0696             return 0;
0697         case _LOAD_GLOBAL_MODULE:
0698             return 0;
0699         case _LOAD_GLOBAL_BUILTINS:
0700             return 0;
0701         case _DELETE_FAST:
0702             return 0;
0703         case _MAKE_CELL:
0704             return 0;
0705         case _DELETE_DEREF:
0706             return 0;
0707         case _LOAD_FROM_DICT_OR_DEREF:
0708             return 1;
0709         case _LOAD_DEREF:
0710             return 0;
0711         case _STORE_DEREF:
0712             return 1;
0713         case _COPY_FREE_VARS:
0714             return 0;
0715         case _BUILD_STRING:
0716             return oparg;
0717         case _BUILD_TUPLE:
0718             return oparg;
0719         case _BUILD_LIST:
0720             return oparg;
0721         case _LIST_EXTEND:
0722             return 2 + (oparg-1);
0723         case _SET_UPDATE:
0724             return 2 + (oparg-1);
0725         case _BUILD_MAP:
0726             return oparg*2;
0727         case _SETUP_ANNOTATIONS:
0728             return 0;
0729         case _BUILD_CONST_KEY_MAP:
0730             return 1 + oparg;
0731         case _DICT_UPDATE:
0732             return 2 + (oparg - 1);
0733         case _DICT_MERGE:
0734             return 5 + (oparg - 1);
0735         case _MAP_ADD:
0736             return 3 + (oparg - 1);
0737         case _LOAD_SUPER_ATTR_ATTR:
0738             return 3;
0739         case _LOAD_SUPER_ATTR_METHOD:
0740             return 3;
0741         case _LOAD_ATTR:
0742             return 1;
0743         case _GUARD_TYPE_VERSION:
0744             return 1;
0745         case _CHECK_MANAGED_OBJECT_HAS_VALUES:
0746             return 1;
0747         case _LOAD_ATTR_INSTANCE_VALUE_0:
0748             return 1;
0749         case _LOAD_ATTR_INSTANCE_VALUE_1:
0750             return 1;
0751         case _LOAD_ATTR_INSTANCE_VALUE:
0752             return 1;
0753         case _CHECK_ATTR_MODULE:
0754             return 1;
0755         case _LOAD_ATTR_MODULE:
0756             return 1;
0757         case _CHECK_ATTR_WITH_HINT:
0758             return 1;
0759         case _LOAD_ATTR_WITH_HINT:
0760             return 1;
0761         case _LOAD_ATTR_SLOT_0:
0762             return 1;
0763         case _LOAD_ATTR_SLOT_1:
0764             return 1;
0765         case _LOAD_ATTR_SLOT:
0766             return 1;
0767         case _CHECK_ATTR_CLASS:
0768             return 1;
0769         case _LOAD_ATTR_CLASS_0:
0770             return 1;
0771         case _LOAD_ATTR_CLASS_1:
0772             return 1;
0773         case _LOAD_ATTR_CLASS:
0774             return 1;
0775         case _GUARD_DORV_NO_DICT:
0776             return 1;
0777         case _STORE_ATTR_INSTANCE_VALUE:
0778             return 2;
0779         case _STORE_ATTR_SLOT:
0780             return 2;
0781         case _COMPARE_OP:
0782             return 2;
0783         case _COMPARE_OP_FLOAT:
0784             return 2;
0785         case _COMPARE_OP_INT:
0786             return 2;
0787         case _COMPARE_OP_STR:
0788             return 2;
0789         case _IS_OP:
0790             return 2;
0791         case _CONTAINS_OP:
0792             return 2;
0793         case _CONTAINS_OP_SET:
0794             return 2;
0795         case _CONTAINS_OP_DICT:
0796             return 2;
0797         case _CHECK_EG_MATCH:
0798             return 2;
0799         case _CHECK_EXC_MATCH:
0800             return 2;
0801         case _IS_NONE:
0802             return 1;
0803         case _GET_LEN:
0804             return 1;
0805         case _MATCH_CLASS:
0806             return 3;
0807         case _MATCH_MAPPING:
0808             return 1;
0809         case _MATCH_SEQUENCE:
0810             return 1;
0811         case _MATCH_KEYS:
0812             return 2;
0813         case _GET_ITER:
0814             return 1;
0815         case _GET_YIELD_FROM_ITER:
0816             return 1;
0817         case _FOR_ITER_TIER_TWO:
0818             return 1;
0819         case _ITER_CHECK_LIST:
0820             return 1;
0821         case _GUARD_NOT_EXHAUSTED_LIST:
0822             return 1;
0823         case _ITER_NEXT_LIST:
0824             return 1;
0825         case _ITER_CHECK_TUPLE:
0826             return 1;
0827         case _GUARD_NOT_EXHAUSTED_TUPLE:
0828             return 1;
0829         case _ITER_NEXT_TUPLE:
0830             return 1;
0831         case _ITER_CHECK_RANGE:
0832             return 1;
0833         case _GUARD_NOT_EXHAUSTED_RANGE:
0834             return 1;
0835         case _ITER_NEXT_RANGE:
0836             return 1;
0837         case _FOR_ITER_GEN_FRAME:
0838             return 1;
0839         case _WITH_EXCEPT_START:
0840             return 4;
0841         case _PUSH_EXC_INFO:
0842             return 1;
0843         case _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT:
0844             return 1;
0845         case _GUARD_KEYS_VERSION:
0846             return 1;
0847         case _LOAD_ATTR_METHOD_WITH_VALUES:
0848             return 1;
0849         case _LOAD_ATTR_METHOD_NO_DICT:
0850             return 1;
0851         case _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES:
0852             return 1;
0853         case _LOAD_ATTR_NONDESCRIPTOR_NO_DICT:
0854             return 1;
0855         case _CHECK_ATTR_METHOD_LAZY_DICT:
0856             return 1;
0857         case _LOAD_ATTR_METHOD_LAZY_DICT:
0858             return 1;
0859         case _CHECK_PERIODIC:
0860             return 0;
0861         case _PY_FRAME_GENERAL:
0862             return 2 + oparg;
0863         case _CHECK_FUNCTION_VERSION:
0864             return 2 + oparg;
0865         case _CHECK_METHOD_VERSION:
0866             return 2 + oparg;
0867         case _EXPAND_METHOD:
0868             return 2 + oparg;
0869         case _CHECK_IS_NOT_PY_CALLABLE:
0870             return 2 + oparg;
0871         case _CALL_NON_PY_GENERAL:
0872             return 2 + oparg;
0873         case _CHECK_CALL_BOUND_METHOD_EXACT_ARGS:
0874             return 2 + oparg;
0875         case _INIT_CALL_BOUND_METHOD_EXACT_ARGS:
0876             return 2 + oparg;
0877         case _CHECK_PEP_523:
0878             return 0;
0879         case _CHECK_FUNCTION_EXACT_ARGS:
0880             return 2 + oparg;
0881         case _CHECK_STACK_SPACE:
0882             return 2 + oparg;
0883         case _INIT_CALL_PY_EXACT_ARGS_0:
0884             return 2 + oparg;
0885         case _INIT_CALL_PY_EXACT_ARGS_1:
0886             return 2 + oparg;
0887         case _INIT_CALL_PY_EXACT_ARGS_2:
0888             return 2 + oparg;
0889         case _INIT_CALL_PY_EXACT_ARGS_3:
0890             return 2 + oparg;
0891         case _INIT_CALL_PY_EXACT_ARGS_4:
0892             return 2 + oparg;
0893         case _INIT_CALL_PY_EXACT_ARGS:
0894             return 2 + oparg;
0895         case _PUSH_FRAME:
0896             return 1;
0897         case _CALL_TYPE_1:
0898             return 3;
0899         case _CALL_STR_1:
0900             return 3;
0901         case _CALL_TUPLE_1:
0902             return 3;
0903         case _EXIT_INIT_CHECK:
0904             return 1;
0905         case _CALL_BUILTIN_CLASS:
0906             return 2 + oparg;
0907         case _CALL_BUILTIN_O:
0908             return 2 + oparg;
0909         case _CALL_BUILTIN_FAST:
0910             return 2 + oparg;
0911         case _CALL_BUILTIN_FAST_WITH_KEYWORDS:
0912             return 2 + oparg;
0913         case _CALL_LEN:
0914             return 2 + oparg;
0915         case _CALL_ISINSTANCE:
0916             return 2 + oparg;
0917         case _CALL_METHOD_DESCRIPTOR_O:
0918             return 2 + oparg;
0919         case _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS:
0920             return 2 + oparg;
0921         case _CALL_METHOD_DESCRIPTOR_NOARGS:
0922             return 2 + oparg;
0923         case _CALL_METHOD_DESCRIPTOR_FAST:
0924             return 2 + oparg;
0925         case _MAKE_FUNCTION:
0926             return 1;
0927         case _SET_FUNCTION_ATTRIBUTE:
0928             return 2;
0929         case _RETURN_GENERATOR:
0930             return 0;
0931         case _BUILD_SLICE:
0932             return 2 + ((oparg == 3) ? 1 : 0);
0933         case _CONVERT_VALUE:
0934             return 1;
0935         case _FORMAT_SIMPLE:
0936             return 1;
0937         case _FORMAT_WITH_SPEC:
0938             return 2;
0939         case _COPY:
0940             return 1 + (oparg-1);
0941         case _BINARY_OP:
0942             return 2;
0943         case _SWAP:
0944             return 2 + (oparg-2);
0945         case _GUARD_IS_TRUE_POP:
0946             return 1;
0947         case _GUARD_IS_FALSE_POP:
0948             return 1;
0949         case _GUARD_IS_NONE_POP:
0950             return 1;
0951         case _GUARD_IS_NOT_NONE_POP:
0952             return 1;
0953         case _JUMP_TO_TOP:
0954             return 0;
0955         case _SET_IP:
0956             return 0;
0957         case _CHECK_STACK_SPACE_OPERAND:
0958             return 0;
0959         case _SAVE_RETURN_OFFSET:
0960             return 0;
0961         case _EXIT_TRACE:
0962             return 0;
0963         case _CHECK_VALIDITY:
0964             return 0;
0965         case _LOAD_CONST_INLINE:
0966             return 0;
0967         case _LOAD_CONST_INLINE_BORROW:
0968             return 0;
0969         case _POP_TOP_LOAD_CONST_INLINE_BORROW:
0970             return 1;
0971         case _LOAD_CONST_INLINE_WITH_NULL:
0972             return 0;
0973         case _LOAD_CONST_INLINE_BORROW_WITH_NULL:
0974             return 0;
0975         case _CHECK_FUNCTION:
0976             return 0;
0977         case _INTERNAL_INCREMENT_OPT_COUNTER:
0978             return 1;
0979         case _COLD_EXIT:
0980             return 0;
0981         case _DYNAMIC_EXIT:
0982             return 0;
0983         case _START_EXECUTOR:
0984             return 0;
0985         case _FATAL_ERROR:
0986             return 0;
0987         case _CHECK_VALIDITY_AND_SET_IP:
0988             return 0;
0989         case _DEOPT:
0990             return 0;
0991         case _ERROR_POP_N:
0992             return oparg;
0993         case _TIER2_RESUME_CHECK:
0994             return 0;
0995         default:
0996             return -1;
0997     }
0998 }
0999 
1000 #endif // NEED_OPCODE_METADATA
1001 
1002 
1003 #ifdef __cplusplus
1004 }
1005 #endif
1006 #endif /* !Py_CORE_UOP_METADATA_H */