python (3.11.7)

(root)/
include/
python3.11/
opcode.h
       1  // Auto-generated by Tools/scripts/generate_opcode_h.py from Lib/opcode.py
       2  
       3  #ifndef Py_OPCODE_H
       4  #define Py_OPCODE_H
       5  #ifdef __cplusplus
       6  extern "C" {
       7  #endif
       8  
       9  
      10  /* Instruction opcodes for compiled code */
      11  #define CACHE                                    0
      12  #define POP_TOP                                  1
      13  #define PUSH_NULL                                2
      14  #define NOP                                      9
      15  #define UNARY_POSITIVE                          10
      16  #define UNARY_NEGATIVE                          11
      17  #define UNARY_NOT                               12
      18  #define UNARY_INVERT                            15
      19  #define BINARY_SUBSCR                           25
      20  #define GET_LEN                                 30
      21  #define MATCH_MAPPING                           31
      22  #define MATCH_SEQUENCE                          32
      23  #define MATCH_KEYS                              33
      24  #define PUSH_EXC_INFO                           35
      25  #define CHECK_EXC_MATCH                         36
      26  #define CHECK_EG_MATCH                          37
      27  #define WITH_EXCEPT_START                       49
      28  #define GET_AITER                               50
      29  #define GET_ANEXT                               51
      30  #define BEFORE_ASYNC_WITH                       52
      31  #define BEFORE_WITH                             53
      32  #define END_ASYNC_FOR                           54
      33  #define STORE_SUBSCR                            60
      34  #define DELETE_SUBSCR                           61
      35  #define GET_ITER                                68
      36  #define GET_YIELD_FROM_ITER                     69
      37  #define PRINT_EXPR                              70
      38  #define LOAD_BUILD_CLASS                        71
      39  #define LOAD_ASSERTION_ERROR                    74
      40  #define RETURN_GENERATOR                        75
      41  #define LIST_TO_TUPLE                           82
      42  #define RETURN_VALUE                            83
      43  #define IMPORT_STAR                             84
      44  #define SETUP_ANNOTATIONS                       85
      45  #define YIELD_VALUE                             86
      46  #define ASYNC_GEN_WRAP                          87
      47  #define PREP_RERAISE_STAR                       88
      48  #define POP_EXCEPT                              89
      49  #define HAVE_ARGUMENT                           90
      50  #define STORE_NAME                              90
      51  #define DELETE_NAME                             91
      52  #define UNPACK_SEQUENCE                         92
      53  #define FOR_ITER                                93
      54  #define UNPACK_EX                               94
      55  #define STORE_ATTR                              95
      56  #define DELETE_ATTR                             96
      57  #define STORE_GLOBAL                            97
      58  #define DELETE_GLOBAL                           98
      59  #define SWAP                                    99
      60  #define LOAD_CONST                             100
      61  #define LOAD_NAME                              101
      62  #define BUILD_TUPLE                            102
      63  #define BUILD_LIST                             103
      64  #define BUILD_SET                              104
      65  #define BUILD_MAP                              105
      66  #define LOAD_ATTR                              106
      67  #define COMPARE_OP                             107
      68  #define IMPORT_NAME                            108
      69  #define IMPORT_FROM                            109
      70  #define JUMP_FORWARD                           110
      71  #define JUMP_IF_FALSE_OR_POP                   111
      72  #define JUMP_IF_TRUE_OR_POP                    112
      73  #define POP_JUMP_FORWARD_IF_FALSE              114
      74  #define POP_JUMP_FORWARD_IF_TRUE               115
      75  #define LOAD_GLOBAL                            116
      76  #define IS_OP                                  117
      77  #define CONTAINS_OP                            118
      78  #define RERAISE                                119
      79  #define COPY                                   120
      80  #define BINARY_OP                              122
      81  #define SEND                                   123
      82  #define LOAD_FAST                              124
      83  #define STORE_FAST                             125
      84  #define DELETE_FAST                            126
      85  #define POP_JUMP_FORWARD_IF_NOT_NONE           128
      86  #define POP_JUMP_FORWARD_IF_NONE               129
      87  #define RAISE_VARARGS                          130
      88  #define GET_AWAITABLE                          131
      89  #define MAKE_FUNCTION                          132
      90  #define BUILD_SLICE                            133
      91  #define JUMP_BACKWARD_NO_INTERRUPT             134
      92  #define MAKE_CELL                              135
      93  #define LOAD_CLOSURE                           136
      94  #define LOAD_DEREF                             137
      95  #define STORE_DEREF                            138
      96  #define DELETE_DEREF                           139
      97  #define JUMP_BACKWARD                          140
      98  #define CALL_FUNCTION_EX                       142
      99  #define EXTENDED_ARG                           144
     100  #define LIST_APPEND                            145
     101  #define SET_ADD                                146
     102  #define MAP_ADD                                147
     103  #define LOAD_CLASSDEREF                        148
     104  #define COPY_FREE_VARS                         149
     105  #define RESUME                                 151
     106  #define MATCH_CLASS                            152
     107  #define FORMAT_VALUE                           155
     108  #define BUILD_CONST_KEY_MAP                    156
     109  #define BUILD_STRING                           157
     110  #define LOAD_METHOD                            160
     111  #define LIST_EXTEND                            162
     112  #define SET_UPDATE                             163
     113  #define DICT_MERGE                             164
     114  #define DICT_UPDATE                            165
     115  #define PRECALL                                166
     116  #define CALL                                   171
     117  #define KW_NAMES                               172
     118  #define POP_JUMP_BACKWARD_IF_NOT_NONE          173
     119  #define POP_JUMP_BACKWARD_IF_NONE              174
     120  #define POP_JUMP_BACKWARD_IF_FALSE             175
     121  #define POP_JUMP_BACKWARD_IF_TRUE              176
     122  #define BINARY_OP_ADAPTIVE                       3
     123  #define BINARY_OP_ADD_FLOAT                      4
     124  #define BINARY_OP_ADD_INT                        5
     125  #define BINARY_OP_ADD_UNICODE                    6
     126  #define BINARY_OP_INPLACE_ADD_UNICODE            7
     127  #define BINARY_OP_MULTIPLY_FLOAT                 8
     128  #define BINARY_OP_MULTIPLY_INT                  13
     129  #define BINARY_OP_SUBTRACT_FLOAT                14
     130  #define BINARY_OP_SUBTRACT_INT                  16
     131  #define BINARY_SUBSCR_ADAPTIVE                  17
     132  #define BINARY_SUBSCR_DICT                      18
     133  #define BINARY_SUBSCR_GETITEM                   19
     134  #define BINARY_SUBSCR_LIST_INT                  20
     135  #define BINARY_SUBSCR_TUPLE_INT                 21
     136  #define CALL_ADAPTIVE                           22
     137  #define CALL_PY_EXACT_ARGS                      23
     138  #define CALL_PY_WITH_DEFAULTS                   24
     139  #define COMPARE_OP_ADAPTIVE                     26
     140  #define COMPARE_OP_FLOAT_JUMP                   27
     141  #define COMPARE_OP_INT_JUMP                     28
     142  #define COMPARE_OP_STR_JUMP                     29
     143  #define EXTENDED_ARG_QUICK                      34
     144  #define JUMP_BACKWARD_QUICK                     38
     145  #define LOAD_ATTR_ADAPTIVE                      39
     146  #define LOAD_ATTR_INSTANCE_VALUE                40
     147  #define LOAD_ATTR_MODULE                        41
     148  #define LOAD_ATTR_SLOT                          42
     149  #define LOAD_ATTR_WITH_HINT                     43
     150  #define LOAD_CONST__LOAD_FAST                   44
     151  #define LOAD_FAST__LOAD_CONST                   45
     152  #define LOAD_FAST__LOAD_FAST                    46
     153  #define LOAD_GLOBAL_ADAPTIVE                    47
     154  #define LOAD_GLOBAL_BUILTIN                     48
     155  #define LOAD_GLOBAL_MODULE                      55
     156  #define LOAD_METHOD_ADAPTIVE                    56
     157  #define LOAD_METHOD_CLASS                       57
     158  #define LOAD_METHOD_MODULE                      58
     159  #define LOAD_METHOD_NO_DICT                     59
     160  #define LOAD_METHOD_WITH_DICT                   62
     161  #define LOAD_METHOD_WITH_VALUES                 63
     162  #define PRECALL_ADAPTIVE                        64
     163  #define PRECALL_BOUND_METHOD                    65
     164  #define PRECALL_BUILTIN_CLASS                   66
     165  #define PRECALL_BUILTIN_FAST_WITH_KEYWORDS      67
     166  #define PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS  72
     167  #define PRECALL_NO_KW_BUILTIN_FAST              73
     168  #define PRECALL_NO_KW_BUILTIN_O                 76
     169  #define PRECALL_NO_KW_ISINSTANCE                77
     170  #define PRECALL_NO_KW_LEN                       78
     171  #define PRECALL_NO_KW_LIST_APPEND               79
     172  #define PRECALL_NO_KW_METHOD_DESCRIPTOR_FAST    80
     173  #define PRECALL_NO_KW_METHOD_DESCRIPTOR_NOARGS  81
     174  #define PRECALL_NO_KW_METHOD_DESCRIPTOR_O      113
     175  #define PRECALL_NO_KW_STR_1                    121
     176  #define PRECALL_NO_KW_TUPLE_1                  127
     177  #define PRECALL_NO_KW_TYPE_1                   141
     178  #define PRECALL_PYFUNC                         143
     179  #define RESUME_QUICK                           150
     180  #define STORE_ATTR_ADAPTIVE                    153
     181  #define STORE_ATTR_INSTANCE_VALUE              154
     182  #define STORE_ATTR_SLOT                        158
     183  #define STORE_ATTR_WITH_HINT                   159
     184  #define STORE_FAST__LOAD_FAST                  161
     185  #define STORE_FAST__STORE_FAST                 167
     186  #define STORE_SUBSCR_ADAPTIVE                  168
     187  #define STORE_SUBSCR_DICT                      169
     188  #define STORE_SUBSCR_LIST_INT                  170
     189  #define UNPACK_SEQUENCE_ADAPTIVE               177
     190  #define UNPACK_SEQUENCE_LIST                   178
     191  #define UNPACK_SEQUENCE_TUPLE                  179
     192  #define UNPACK_SEQUENCE_TWO_TUPLE              180
     193  #define DO_TRACING                             255
     194  
     195  #define HAS_CONST(op) (false\
     196      || ((op) == 100) \
     197      || ((op) == 172) \
     198      )
     199  
     200  #define NB_ADD                                   0
     201  #define NB_AND                                   1
     202  #define NB_FLOOR_DIVIDE                          2
     203  #define NB_LSHIFT                                3
     204  #define NB_MATRIX_MULTIPLY                       4
     205  #define NB_MULTIPLY                              5
     206  #define NB_REMAINDER                             6
     207  #define NB_OR                                    7
     208  #define NB_POWER                                 8
     209  #define NB_RSHIFT                                9
     210  #define NB_SUBTRACT                             10
     211  #define NB_TRUE_DIVIDE                          11
     212  #define NB_XOR                                  12
     213  #define NB_INPLACE_ADD                          13
     214  #define NB_INPLACE_AND                          14
     215  #define NB_INPLACE_FLOOR_DIVIDE                 15
     216  #define NB_INPLACE_LSHIFT                       16
     217  #define NB_INPLACE_MATRIX_MULTIPLY              17
     218  #define NB_INPLACE_MULTIPLY                     18
     219  #define NB_INPLACE_REMAINDER                    19
     220  #define NB_INPLACE_OR                           20
     221  #define NB_INPLACE_POWER                        21
     222  #define NB_INPLACE_RSHIFT                       22
     223  #define NB_INPLACE_SUBTRACT                     23
     224  #define NB_INPLACE_TRUE_DIVIDE                  24
     225  #define NB_INPLACE_XOR                          25
     226  
     227  #define HAS_ARG(op) ((op) >= HAVE_ARGUMENT)
     228  
     229  /* Reserve some bytecodes for internal use in the compiler.
     230   * The value of 240 is arbitrary. */
     231  #define IS_ARTIFICIAL(op) ((op) > 240)
     232  
     233  #ifdef __cplusplus
     234  }
     235  #endif
     236  #endif /* !Py_OPCODE_H */