py38 opcodes.

Created Diff never expires
19 removals
148 lines
12 additions
142 lines
/* Auto-generated by Tools/scripts/generate_opcode_h.py from Lib/opcode.py */
/* Auto-generated by Tools/scripts/generate_opcode_h.py from Lib/opcode.py */
#ifndef Py_OPCODE_H
#ifndef Py_OPCODE_H
#define Py_OPCODE_H
#define Py_OPCODE_H
#ifdef __cplusplus
#ifdef __cplusplus
extern "C" {
extern "C" {
#endif
#endif




/* Instruction opcodes for compiled code */
/* Instruction opcodes for compiled code */
#define POP_TOP 1
#define POP_TOP 1
#define ROT_TWO 2
#define ROT_TWO 2
#define ROT_THREE 3
#define ROT_THREE 3
#define DUP_TOP 4
#define DUP_TOP 4
#define DUP_TOP_TWO 5
#define DUP_TOP_TWO 5
#define ROT_FOUR 6
#define ROT_FOUR 6
#define NOP 9
#define NOP 9
#define UNARY_POSITIVE 10
#define UNARY_POSITIVE 10
#define UNARY_NEGATIVE 11
#define UNARY_NEGATIVE 11
#define UNARY_NOT 12
#define UNARY_NOT 12
#define UNARY_INVERT 15
#define UNARY_INVERT 15
#define BINARY_MATRIX_MULTIPLY 16
#define BINARY_MATRIX_MULTIPLY 16
#define INPLACE_MATRIX_MULTIPLY 17
#define INPLACE_MATRIX_MULTIPLY 17
#define BINARY_POWER 19
#define BINARY_POWER 19
#define BINARY_MULTIPLY 20
#define BINARY_MULTIPLY 20
#define BINARY_MODULO 22
#define BINARY_MODULO 22
#define BINARY_ADD 23
#define BINARY_ADD 23
#define BINARY_SUBTRACT 24
#define BINARY_SUBTRACT 24
#define BINARY_SUBSCR 25
#define BINARY_SUBSCR 25
#define BINARY_FLOOR_DIVIDE 26
#define BINARY_FLOOR_DIVIDE 26
#define BINARY_TRUE_DIVIDE 27
#define BINARY_TRUE_DIVIDE 27
#define INPLACE_FLOOR_DIVIDE 28
#define INPLACE_FLOOR_DIVIDE 28
#define INPLACE_TRUE_DIVIDE 29
#define INPLACE_TRUE_DIVIDE 29
#define RERAISE 48
#define WITH_EXCEPT_START 49
#define GET_AITER 50
#define GET_AITER 50
#define GET_ANEXT 51
#define GET_ANEXT 51
#define BEFORE_ASYNC_WITH 52
#define BEFORE_ASYNC_WITH 52
#define BEGIN_FINALLY 53
#define END_ASYNC_FOR 54
#define END_ASYNC_FOR 54
#define INPLACE_ADD 55
#define INPLACE_ADD 55
#define INPLACE_SUBTRACT 56
#define INPLACE_SUBTRACT 56
#define INPLACE_MULTIPLY 57
#define INPLACE_MULTIPLY 57
#define INPLACE_MODULO 59
#define INPLACE_MODULO 59
#define STORE_SUBSCR 60
#define STORE_SUBSCR 60
#define DELETE_SUBSCR 61
#define DELETE_SUBSCR 61
#define BINARY_LSHIFT 62
#define BINARY_LSHIFT 62
#define BINARY_RSHIFT 63
#define BINARY_RSHIFT 63
#define BINARY_AND 64
#define BINARY_AND 64
#define BINARY_XOR 65
#define BINARY_XOR 65
#define BINARY_OR 66
#define BINARY_OR 66
#define INPLACE_POWER 67
#define INPLACE_POWER 67
#define GET_ITER 68
#define GET_ITER 68
#define GET_YIELD_FROM_ITER 69
#define GET_YIELD_FROM_ITER 69
#define PRINT_EXPR 70
#define PRINT_EXPR 70
#define LOAD_BUILD_CLASS 71
#define LOAD_BUILD_CLASS 71
#define YIELD_FROM 72
#define YIELD_FROM 72
#define GET_AWAITABLE 73
#define GET_AWAITABLE 73
#define LOAD_ASSERTION_ERROR 74
#define INPLACE_LSHIFT 75
#define INPLACE_LSHIFT 75
#define INPLACE_RSHIFT 76
#define INPLACE_RSHIFT 76
#define INPLACE_AND 77
#define INPLACE_AND 77
#define INPLACE_XOR 78
#define INPLACE_XOR 78
#define INPLACE_OR 79
#define INPLACE_OR 79
#define WITH_CLEANUP_START 81
#define LIST_TO_TUPLE 82
#define WITH_CLEANUP_FINISH 82
#define RETURN_VALUE 83
#define RETURN_VALUE 83
#define IMPORT_STAR 84
#define IMPORT_STAR 84
#define SETUP_ANNOTATIONS 85
#define SETUP_ANNOTATIONS 85
#define YIELD_VALUE 86
#define YIELD_VALUE 86
#define POP_BLOCK 87
#define POP_BLOCK 87
#define END_FINALLY 88
#define POP_EXCEPT 89
#define POP_EXCEPT 89
#define HAVE_ARGUMENT 90
#define HAVE_ARGUMENT 90
#define STORE_NAME 90
#define STORE_NAME 90
#define DELETE_NAME 91
#define DELETE_NAME 91
#define UNPACK_SEQUENCE 92
#define UNPACK_SEQUENCE 92
#define FOR_ITER 93
#define FOR_ITER 93
#define UNPACK_EX 94
#define UNPACK_EX 94
#define STORE_ATTR 95
#define STORE_ATTR 95
#define DELETE_ATTR 96
#define DELETE_ATTR 96
#define STORE_GLOBAL 97
#define STORE_GLOBAL 97
#define DELETE_GLOBAL 98
#define DELETE_GLOBAL 98
#define LOAD_CONST 100
#define LOAD_CONST 100
#define LOAD_NAME 101
#define LOAD_NAME 101
#define BUILD_TUPLE 102
#define BUILD_TUPLE 102
#define BUILD_LIST 103
#define BUILD_LIST 103
#define BUILD_SET 104
#define BUILD_SET 104
#define BUILD_MAP 105
#define BUILD_MAP 105
#define LOAD_ATTR 106
#define LOAD_ATTR 106
#define COMPARE_OP 107
#define COMPARE_OP 107
#define IMPORT_NAME 108
#define IMPORT_NAME 108
#define IMPORT_FROM 109
#define IMPORT_FROM 109
#define JUMP_FORWARD 110
#define JUMP_FORWARD 110
#define JUMP_IF_FALSE_OR_POP 111
#define JUMP_IF_FALSE_OR_POP 111
#define JUMP_IF_TRUE_OR_POP 112
#define JUMP_IF_TRUE_OR_POP 112
#define JUMP_ABSOLUTE 113
#define JUMP_ABSOLUTE 113
#define POP_JUMP_IF_FALSE 114
#define POP_JUMP_IF_FALSE 114
#define POP_JUMP_IF_TRUE 115
#define POP_JUMP_IF_TRUE 115
#define LOAD_GLOBAL 116
#define LOAD_GLOBAL 116
#define IS_OP 117
#define CONTAINS_OP 118
#define JUMP_IF_NOT_EXC_MATCH 121
#define SETUP_FINALLY 122
#define SETUP_FINALLY 122
#define LOAD_FAST 124
#define LOAD_FAST 124
#define STORE_FAST 125
#define STORE_FAST 125
#define DELETE_FAST 126
#define DELETE_FAST 126
#define RAISE_VARARGS 130
#define RAISE_VARARGS 130
#define CALL_FUNCTION 131
#define CALL_FUNCTION 131
#define MAKE_FUNCTION 132
#define MAKE_FUNCTION 132
#define BUILD_SLICE 133
#define BUILD_SLICE 133
#define LOAD_CLOSURE 135
#define LOAD_CLOSURE 135
#define LOAD_DEREF 136
#define LOAD_DEREF 136
#define STORE_DEREF 137
#define STORE_DEREF 137
#define DELETE_DEREF 138
#define DELETE_DEREF 138
#define CALL_FUNCTION_KW 141
#define CALL_FUNCTION_KW 141
#define CALL_FUNCTION_EX 142
#define CALL_FUNCTION_EX 142
#define SETUP_WITH 143
#define SETUP_WITH 143
#define EXTENDED_ARG 144
#define EXTENDED_ARG 144
#define LIST_APPEND 145
#define LIST_APPEND 145
#define SET_ADD 146
#define SET_ADD 146
#define MAP_ADD 147
#define MAP_ADD 147
#define LOAD_CLASSDEREF 148
#define LOAD_CLASSDEREF 148
#define BUILD_LIST_UNPACK 149
#define BUILD_MAP_UNPACK 150
#define BUILD_MAP_UNPACK_WITH_CALL 151
#define BUILD_TUPLE_UNPACK 152
#define BUILD_SET_UNPACK 153
#define SETUP_ASYNC_WITH 154
#define SETUP_ASYNC_WITH 154
#define FORMAT_VALUE 155
#define FORMAT_VALUE 155
#define BUILD_CONST_KEY_MAP 156
#define BUILD_CONST_KEY_MAP 156
#define BUILD_STRING 157
#define BUILD_STRING 157
#define BUILD_TUPLE_UNPACK_WITH_CALL 158
#define LOAD_METHOD 160
#define LOAD_METHOD 160
#define CALL_METHOD 161
#define CALL_METHOD 161
#define CALL_FINALLY 162
#define LIST_EXTEND 162
#define POP_FINALLY 163
#define SET_UPDATE 163
#define DICT_MERGE 164
#define DICT_UPDATE 165


/* EXCEPT_HANDLER is a special, implicit block type which is created when
/* EXCEPT_HANDLER is a special, implicit block type which is created when
entering an except handler. It is not an opcode but we define it here
entering an except handler. It is not an opcode but we define it here
as we want it to be available to both frameobject.c and ceval.c, while
as we want it to be available to both frameobject.c and ceval.c, while
remaining private.*/
remaining private.*/
#define EXCEPT_HANDLER 257
#define EXCEPT_HANDLER 257


enum cmp_op {PyCmp_LT=Py_LT, PyCmp_LE=Py_LE, PyCmp_EQ=Py_EQ, PyCmp_NE=Py_NE,
PyCmp_GT=Py_GT, PyCmp_GE=Py_GE, PyCmp_IN, PyCmp_NOT_IN,
PyCmp_IS, PyCmp_IS_NOT, PyCmp_EXC_MATCH, PyCmp_BAD};


#define HAS_ARG(op) ((op) >= HAVE_ARGUMENT)
#define HAS_ARG(op) ((op) >= HAVE_ARGUMENT)


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