// Auto-generated by Tools/build/generate_opcode_h.py from Lib/opcode.py

#ifndef Py_OPCODE_H
#define Py_OPCODE_H
#ifdef __cplusplus
extern "C" {
#endif


/* Instruction opcodes for compiled code */
#define CACHE                                    0
#define POP_TOP                                  1
#define PUSH_NULL                                2
#define NOP                                      9
#define UNARY_POSITIVE                          10
#define UNARY_NEGATIVE                          11
#define UNARY_NOT                               12
#define UNARY_INVERT                            15
#define BINARY_SUBSCR                           25
#define BINARY_SLICE                            26
#define STORE_SLICE                             27
#define GET_LEN                                 30
#define MATCH_MAPPING                           31
#define MATCH_SEQUENCE                          32
#define MATCH_KEYS                              33
#define PUSH_EXC_INFO                           35
#define CHECK_EXC_MATCH                         36
#define CHECK_EG_MATCH                          37
#define WITH_EXCEPT_START                       49
#define GET_AITER                               50
#define GET_ANEXT                               51
#define BEFORE_ASYNC_WITH                       52
#define BEFORE_WITH                             53
#define END_ASYNC_FOR                           54
#define CLEANUP_THROW                           55
#define STORE_SUBSCR                            60
#define DELETE_SUBSCR                           61
#define GET_ITER                                68
#define GET_YIELD_FROM_ITER                     69
#define PRINT_EXPR                              70
#define LOAD_BUILD_CLASS                        71
#define LOAD_ASSERTION_ERROR                    74
#define RETURN_GENERATOR                        75
#define LIST_TO_TUPLE                           82
#define RETURN_VALUE                            83
#define IMPORT_STAR                             84
#define SETUP_ANNOTATIONS                       85
#define ASYNC_GEN_WRAP                          87
#define PREP_RERAISE_STAR                       88
#define POP_EXCEPT                              89
#define HAVE_ARGUMENT                           90
#define STORE_NAME                              90
#define DELETE_NAME                             91
#define UNPACK_SEQUENCE                         92
#define FOR_ITER                                93
#define UNPACK_EX                               94
#define STORE_ATTR                              95
#define DELETE_ATTR                             96
#define STORE_GLOBAL                            97
#define DELETE_GLOBAL                           98
#define SWAP                                    99
#define LOAD_CONST                             100
#define LOAD_NAME                              101
#define BUILD_TUPLE                            102
#define BUILD_LIST                             103
#define BUILD_SET                              104
#define BUILD_MAP                              105
#define LOAD_ATTR                              106
#define COMPARE_OP                             107
#define IMPORT_NAME                            108
#define IMPORT_FROM                            109
#define JUMP_FORWARD                           110
#define JUMP_IF_FALSE_OR_POP                   111
#define JUMP_IF_TRUE_OR_POP                    112
#define POP_JUMP_IF_FALSE                      114
#define POP_JUMP_IF_TRUE                       115
#define LOAD_GLOBAL                            116
#define IS_OP                                  117
#define CONTAINS_OP                            118
#define RERAISE                                119
#define COPY                                   120
#define BINARY_OP                              122
#define SEND                                   123
#define LOAD_FAST                              124
#define STORE_FAST                             125
#define DELETE_FAST                            126
#define LOAD_FAST_CHECK                        127
#define POP_JUMP_IF_NOT_NONE                   128
#define POP_JUMP_IF_NONE                       129
#define RAISE_VARARGS                          130
#define GET_AWAITABLE                          131
#define MAKE_FUNCTION                          132
#define BUILD_SLICE                            133
#define JUMP_BACKWARD_NO_INTERRUPT             134
#define MAKE_CELL                              135
#define LOAD_CLOSURE                           136
#define LOAD_DEREF                             137
#define STORE_DEREF                            138
#define DELETE_DEREF                           139
#define JUMP_BACKWARD                          140
#define CALL_FUNCTION_EX                       142
#define EXTENDED_ARG                           144
#define LIST_APPEND                            145
#define SET_ADD                                146
#define MAP_ADD                                147
#define LOAD_CLASSDEREF                        148
#define COPY_FREE_VARS                         149
#define YIELD_VALUE                            150
#define RESUME                                 151
#define MATCH_CLASS                            152
#define FORMAT_VALUE                           155
#define BUILD_CONST_KEY_MAP                    156
#define BUILD_STRING                           157
#define LIST_EXTEND                            162
#define SET_UPDATE                             163
#define DICT_MERGE                             164
#define DICT_UPDATE                            165
#define CALL                                   171
#define KW_NAMES                               172
#define MIN_PSEUDO_OPCODE                      256
#define SETUP_FINALLY                          256
#define SETUP_CLEANUP                          257
#define SETUP_WITH                             258
#define POP_BLOCK                              259
#define JUMP                                   260
#define JUMP_NO_INTERRUPT                      261
#define LOAD_METHOD                            262
#define MAX_PSEUDO_OPCODE                      262
#define BINARY_OP_ADAPTIVE                       3
#define BINARY_OP_ADD_FLOAT                      4
#define BINARY_OP_ADD_INT                        5
#define BINARY_OP_ADD_UNICODE                    6
#define BINARY_OP_INPLACE_ADD_UNICODE            7
#define BINARY_OP_MULTIPLY_FLOAT                 8
#define BINARY_OP_MULTIPLY_INT                  13
#define BINARY_OP_SUBTRACT_FLOAT                14
#define BINARY_OP_SUBTRACT_INT                  16
#define BINARY_SUBSCR_ADAPTIVE                  17
#define BINARY_SUBSCR_DICT                      18
#define BINARY_SUBSCR_GETITEM                   19
#define BINARY_SUBSCR_LIST_INT                  20
#define BINARY_SUBSCR_TUPLE_INT                 21
#define CALL_ADAPTIVE                           22
#define CALL_PY_EXACT_ARGS                      23
#define CALL_PY_WITH_DEFAULTS                   24
#define CALL_BOUND_METHOD_EXACT_ARGS            28
#define CALL_BUILTIN_CLASS                      29
#define CALL_BUILTIN_FAST_WITH_KEYWORDS         34
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS  38
#define CALL_NO_KW_BUILTIN_FAST                 39
#define CALL_NO_KW_BUILTIN_O                    40
#define CALL_NO_KW_ISINSTANCE                   41
#define CALL_NO_KW_LEN                          42
#define CALL_NO_KW_LIST_APPEND                  43
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST       44
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS     45
#define CALL_NO_KW_METHOD_DESCRIPTOR_O          46
#define CALL_NO_KW_STR_1                        47
#define CALL_NO_KW_TUPLE_1                      48
#define CALL_NO_KW_TYPE_1                       56
#define COMPARE_OP_ADAPTIVE                     57
#define COMPARE_OP_FLOAT_JUMP                   58
#define COMPARE_OP_INT_JUMP                     59
#define COMPARE_OP_STR_JUMP                     62
#define EXTENDED_ARG_QUICK                      63
#define FOR_ITER_ADAPTIVE                       64
#define FOR_ITER_LIST                           65
#define FOR_ITER_RANGE                          66
#define JUMP_BACKWARD_QUICK                     67
#define LOAD_ATTR_ADAPTIVE                      72
#define LOAD_ATTR_CLASS                         73
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN       76
#define LOAD_ATTR_INSTANCE_VALUE                77
#define LOAD_ATTR_MODULE                        78
#define LOAD_ATTR_PROPERTY                      79
#define LOAD_ATTR_SLOT                          80
#define LOAD_ATTR_WITH_HINT                     81
#define LOAD_ATTR_METHOD_LAZY_DICT              86
#define LOAD_ATTR_METHOD_NO_DICT               113
#define LOAD_ATTR_METHOD_WITH_DICT             121
#define LOAD_ATTR_METHOD_WITH_VALUES           141
#define LOAD_CONST__LOAD_FAST                  143
#define LOAD_FAST__LOAD_CONST                  153
#define LOAD_FAST__LOAD_FAST                   154
#define LOAD_GLOBAL_ADAPTIVE                   158
#define LOAD_GLOBAL_BUILTIN                    159
#define LOAD_GLOBAL_MODULE                     160
#define RESUME_QUICK                           161
#define STORE_ATTR_ADAPTIVE                    166
#define STORE_ATTR_INSTANCE_VALUE              167
#define STORE_ATTR_SLOT                        168
#define STORE_ATTR_WITH_HINT                   169
#define STORE_FAST__LOAD_FAST                  170
#define STORE_FAST__STORE_FAST                 173
#define STORE_SUBSCR_ADAPTIVE                  174
#define STORE_SUBSCR_DICT                      175
#define STORE_SUBSCR_LIST_INT                  176
#define UNPACK_SEQUENCE_ADAPTIVE               177
#define UNPACK_SEQUENCE_LIST                   178
#define UNPACK_SEQUENCE_TUPLE                  179
#define UNPACK_SEQUENCE_TWO_TUPLE              180
#define DO_TRACING                             255

#define HAS_ARG(op) ((((op) >= HAVE_ARGUMENT) && (!IS_PSEUDO_OPCODE(op)))\
    || ((op) == JUMP) \
    || ((op) == JUMP_NO_INTERRUPT) \
    || ((op) == LOAD_METHOD) \
    )

#define HAS_CONST(op) (false\
    || ((op) == LOAD_CONST) \
    || ((op) == KW_NAMES) \
    )

#define NB_ADD                                   0
#define NB_AND                                   1
#define NB_FLOOR_DIVIDE                          2
#define NB_LSHIFT                                3
#define NB_MATRIX_MULTIPLY                       4
#define NB_MULTIPLY                              5
#define NB_REMAINDER                             6
#define NB_OR                                    7
#define NB_POWER                                 8
#define NB_RSHIFT                                9
#define NB_SUBTRACT                             10
#define NB_TRUE_DIVIDE                          11
#define NB_XOR                                  12
#define NB_INPLACE_ADD                          13
#define NB_INPLACE_AND                          14
#define NB_INPLACE_FLOOR_DIVIDE                 15
#define NB_INPLACE_LSHIFT                       16
#define NB_INPLACE_MATRIX_MULTIPLY              17
#define NB_INPLACE_MULTIPLY                     18
#define NB_INPLACE_REMAINDER                    19
#define NB_INPLACE_OR                           20
#define NB_INPLACE_POWER                        21
#define NB_INPLACE_RSHIFT                       22
#define NB_INPLACE_SUBTRACT                     23
#define NB_INPLACE_TRUE_DIVIDE                  24
#define NB_INPLACE_XOR                          25


#define IS_PSEUDO_OPCODE(op) (((op) >= MIN_PSEUDO_OPCODE) && ((op) <= MAX_PSEUDO_OPCODE))

#ifdef __cplusplus
}
#endif
#endif /* !Py_OPCODE_H */
