annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/python3.8/opcode.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
rev   line source
jpayne@69 1 /* Auto-generated by Tools/scripts/generate_opcode_h.py from Lib/opcode.py */
jpayne@69 2 #ifndef Py_OPCODE_H
jpayne@69 3 #define Py_OPCODE_H
jpayne@69 4 #ifdef __cplusplus
jpayne@69 5 extern "C" {
jpayne@69 6 #endif
jpayne@69 7
jpayne@69 8
jpayne@69 9 /* Instruction opcodes for compiled code */
jpayne@69 10 #define POP_TOP 1
jpayne@69 11 #define ROT_TWO 2
jpayne@69 12 #define ROT_THREE 3
jpayne@69 13 #define DUP_TOP 4
jpayne@69 14 #define DUP_TOP_TWO 5
jpayne@69 15 #define ROT_FOUR 6
jpayne@69 16 #define NOP 9
jpayne@69 17 #define UNARY_POSITIVE 10
jpayne@69 18 #define UNARY_NEGATIVE 11
jpayne@69 19 #define UNARY_NOT 12
jpayne@69 20 #define UNARY_INVERT 15
jpayne@69 21 #define BINARY_MATRIX_MULTIPLY 16
jpayne@69 22 #define INPLACE_MATRIX_MULTIPLY 17
jpayne@69 23 #define BINARY_POWER 19
jpayne@69 24 #define BINARY_MULTIPLY 20
jpayne@69 25 #define BINARY_MODULO 22
jpayne@69 26 #define BINARY_ADD 23
jpayne@69 27 #define BINARY_SUBTRACT 24
jpayne@69 28 #define BINARY_SUBSCR 25
jpayne@69 29 #define BINARY_FLOOR_DIVIDE 26
jpayne@69 30 #define BINARY_TRUE_DIVIDE 27
jpayne@69 31 #define INPLACE_FLOOR_DIVIDE 28
jpayne@69 32 #define INPLACE_TRUE_DIVIDE 29
jpayne@69 33 #define GET_AITER 50
jpayne@69 34 #define GET_ANEXT 51
jpayne@69 35 #define BEFORE_ASYNC_WITH 52
jpayne@69 36 #define BEGIN_FINALLY 53
jpayne@69 37 #define END_ASYNC_FOR 54
jpayne@69 38 #define INPLACE_ADD 55
jpayne@69 39 #define INPLACE_SUBTRACT 56
jpayne@69 40 #define INPLACE_MULTIPLY 57
jpayne@69 41 #define INPLACE_MODULO 59
jpayne@69 42 #define STORE_SUBSCR 60
jpayne@69 43 #define DELETE_SUBSCR 61
jpayne@69 44 #define BINARY_LSHIFT 62
jpayne@69 45 #define BINARY_RSHIFT 63
jpayne@69 46 #define BINARY_AND 64
jpayne@69 47 #define BINARY_XOR 65
jpayne@69 48 #define BINARY_OR 66
jpayne@69 49 #define INPLACE_POWER 67
jpayne@69 50 #define GET_ITER 68
jpayne@69 51 #define GET_YIELD_FROM_ITER 69
jpayne@69 52 #define PRINT_EXPR 70
jpayne@69 53 #define LOAD_BUILD_CLASS 71
jpayne@69 54 #define YIELD_FROM 72
jpayne@69 55 #define GET_AWAITABLE 73
jpayne@69 56 #define INPLACE_LSHIFT 75
jpayne@69 57 #define INPLACE_RSHIFT 76
jpayne@69 58 #define INPLACE_AND 77
jpayne@69 59 #define INPLACE_XOR 78
jpayne@69 60 #define INPLACE_OR 79
jpayne@69 61 #define WITH_CLEANUP_START 81
jpayne@69 62 #define WITH_CLEANUP_FINISH 82
jpayne@69 63 #define RETURN_VALUE 83
jpayne@69 64 #define IMPORT_STAR 84
jpayne@69 65 #define SETUP_ANNOTATIONS 85
jpayne@69 66 #define YIELD_VALUE 86
jpayne@69 67 #define POP_BLOCK 87
jpayne@69 68 #define END_FINALLY 88
jpayne@69 69 #define POP_EXCEPT 89
jpayne@69 70 #define HAVE_ARGUMENT 90
jpayne@69 71 #define STORE_NAME 90
jpayne@69 72 #define DELETE_NAME 91
jpayne@69 73 #define UNPACK_SEQUENCE 92
jpayne@69 74 #define FOR_ITER 93
jpayne@69 75 #define UNPACK_EX 94
jpayne@69 76 #define STORE_ATTR 95
jpayne@69 77 #define DELETE_ATTR 96
jpayne@69 78 #define STORE_GLOBAL 97
jpayne@69 79 #define DELETE_GLOBAL 98
jpayne@69 80 #define LOAD_CONST 100
jpayne@69 81 #define LOAD_NAME 101
jpayne@69 82 #define BUILD_TUPLE 102
jpayne@69 83 #define BUILD_LIST 103
jpayne@69 84 #define BUILD_SET 104
jpayne@69 85 #define BUILD_MAP 105
jpayne@69 86 #define LOAD_ATTR 106
jpayne@69 87 #define COMPARE_OP 107
jpayne@69 88 #define IMPORT_NAME 108
jpayne@69 89 #define IMPORT_FROM 109
jpayne@69 90 #define JUMP_FORWARD 110
jpayne@69 91 #define JUMP_IF_FALSE_OR_POP 111
jpayne@69 92 #define JUMP_IF_TRUE_OR_POP 112
jpayne@69 93 #define JUMP_ABSOLUTE 113
jpayne@69 94 #define POP_JUMP_IF_FALSE 114
jpayne@69 95 #define POP_JUMP_IF_TRUE 115
jpayne@69 96 #define LOAD_GLOBAL 116
jpayne@69 97 #define SETUP_FINALLY 122
jpayne@69 98 #define LOAD_FAST 124
jpayne@69 99 #define STORE_FAST 125
jpayne@69 100 #define DELETE_FAST 126
jpayne@69 101 #define RAISE_VARARGS 130
jpayne@69 102 #define CALL_FUNCTION 131
jpayne@69 103 #define MAKE_FUNCTION 132
jpayne@69 104 #define BUILD_SLICE 133
jpayne@69 105 #define LOAD_CLOSURE 135
jpayne@69 106 #define LOAD_DEREF 136
jpayne@69 107 #define STORE_DEREF 137
jpayne@69 108 #define DELETE_DEREF 138
jpayne@69 109 #define CALL_FUNCTION_KW 141
jpayne@69 110 #define CALL_FUNCTION_EX 142
jpayne@69 111 #define SETUP_WITH 143
jpayne@69 112 #define EXTENDED_ARG 144
jpayne@69 113 #define LIST_APPEND 145
jpayne@69 114 #define SET_ADD 146
jpayne@69 115 #define MAP_ADD 147
jpayne@69 116 #define LOAD_CLASSDEREF 148
jpayne@69 117 #define BUILD_LIST_UNPACK 149
jpayne@69 118 #define BUILD_MAP_UNPACK 150
jpayne@69 119 #define BUILD_MAP_UNPACK_WITH_CALL 151
jpayne@69 120 #define BUILD_TUPLE_UNPACK 152
jpayne@69 121 #define BUILD_SET_UNPACK 153
jpayne@69 122 #define SETUP_ASYNC_WITH 154
jpayne@69 123 #define FORMAT_VALUE 155
jpayne@69 124 #define BUILD_CONST_KEY_MAP 156
jpayne@69 125 #define BUILD_STRING 157
jpayne@69 126 #define BUILD_TUPLE_UNPACK_WITH_CALL 158
jpayne@69 127 #define LOAD_METHOD 160
jpayne@69 128 #define CALL_METHOD 161
jpayne@69 129 #define CALL_FINALLY 162
jpayne@69 130 #define POP_FINALLY 163
jpayne@69 131
jpayne@69 132 /* EXCEPT_HANDLER is a special, implicit block type which is created when
jpayne@69 133 entering an except handler. It is not an opcode but we define it here
jpayne@69 134 as we want it to be available to both frameobject.c and ceval.c, while
jpayne@69 135 remaining private.*/
jpayne@69 136 #define EXCEPT_HANDLER 257
jpayne@69 137
jpayne@69 138
jpayne@69 139 enum cmp_op {PyCmp_LT=Py_LT, PyCmp_LE=Py_LE, PyCmp_EQ=Py_EQ, PyCmp_NE=Py_NE,
jpayne@69 140 PyCmp_GT=Py_GT, PyCmp_GE=Py_GE, PyCmp_IN, PyCmp_NOT_IN,
jpayne@69 141 PyCmp_IS, PyCmp_IS_NOT, PyCmp_EXC_MATCH, PyCmp_BAD};
jpayne@69 142
jpayne@69 143 #define HAS_ARG(op) ((op) >= HAVE_ARGUMENT)
jpayne@69 144
jpayne@69 145 #ifdef __cplusplus
jpayne@69 146 }
jpayne@69 147 #endif
jpayne@69 148 #endif /* !Py_OPCODE_H */