diff options
author | Irit Katriel <1055913+iritkatriel@users.noreply.github.com> | 2023-08-16 22:25:18 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-16 22:25:18 (GMT) |
commit | 665a4391e10167dad1c854fb604c86f336fcd331 (patch) | |
tree | e1d55069486dd67e6857a13fafc12b6e865cacf7 /Include/opcode_ids.h | |
parent | e88eb3775ecdcb3af6c6d694a935b7fa5f41e5ce (diff) | |
download | cpython-665a4391e10167dad1c854fb604c86f336fcd331.zip cpython-665a4391e10167dad1c854fb604c86f336fcd331.tar.gz cpython-665a4391e10167dad1c854fb604c86f336fcd331.tar.bz2 |
gh-105481: generate op IDs from bytecode.c instead of hard coding them in opcode.py (#107971)
Diffstat (limited to 'Include/opcode_ids.h')
-rw-r--r-- | Include/opcode_ids.h | 436 |
1 files changed, 219 insertions, 217 deletions
diff --git a/Include/opcode_ids.h b/Include/opcode_ids.h index 2d9d24c..cd43716 100644 --- a/Include/opcode_ids.h +++ b/Include/opcode_ids.h @@ -1,4 +1,7 @@ -// Auto-generated by Tools/build/generate_opcode_h.py from Lib/opcode.py +// This file is generated by Tools/cases_generator/generate_cases.py +// from: +// Python/bytecodes.c +// Do not edit! #ifndef Py_OPCODE_IDS_H #define Py_OPCODE_IDS_H @@ -6,228 +9,227 @@ extern "C" { #endif - /* Instruction opcodes for compiled code */ #define CACHE 0 -#define POP_TOP 1 -#define PUSH_NULL 2 -#define INTERPRETER_EXIT 3 -#define END_FOR 4 -#define END_SEND 5 -#define TO_BOOL 6 -#define NOP 9 -#define UNARY_NEGATIVE 11 -#define UNARY_NOT 12 -#define UNARY_INVERT 15 -#define EXIT_INIT_CHECK 16 +#define BEFORE_ASYNC_WITH 1 +#define BEFORE_WITH 2 +#define BINARY_OP_ADD_FLOAT 3 +#define BINARY_OP_ADD_INT 4 +#define BINARY_OP_ADD_UNICODE 5 +#define BINARY_OP_INPLACE_ADD_UNICODE 6 +#define BINARY_OP_MULTIPLY_FLOAT 7 +#define BINARY_OP_MULTIPLY_INT 8 +#define BINARY_OP_SUBTRACT_FLOAT 9 +#define BINARY_OP_SUBTRACT_INT 10 +#define BINARY_SLICE 11 +#define BINARY_SUBSCR 12 +#define BINARY_SUBSCR_DICT 13 +#define BINARY_SUBSCR_GETITEM 14 +#define BINARY_SUBSCR_LIST_INT 15 +#define BINARY_SUBSCR_STR_INT 16 #define RESERVED 17 -#define MAKE_FUNCTION 24 -#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 FORMAT_SIMPLE 40 -#define FORMAT_WITH_SPEC 41 -#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 LOAD_BUILD_CLASS 71 -#define LOAD_ASSERTION_ERROR 74 -#define RETURN_GENERATOR 75 -#define RETURN_VALUE 83 -#define SETUP_ANNOTATIONS 85 -#define LOAD_LOCALS 87 -#define POP_EXCEPT 89 -#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 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 RETURN_CONST 121 -#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 BUILD_SLICE 133 -#define JUMP_BACKWARD_NO_INTERRUPT 134 -#define MAKE_CELL 135 -#define LOAD_DEREF 137 -#define STORE_DEREF 138 -#define DELETE_DEREF 139 -#define JUMP_BACKWARD 140 -#define LOAD_SUPER_ATTR 141 -#define CALL_FUNCTION_EX 142 -#define LOAD_FAST_AND_CLEAR 143 -#define EXTENDED_ARG 144 -#define LIST_APPEND 145 -#define SET_ADD 146 -#define MAP_ADD 147 -#define COPY_FREE_VARS 149 -#define YIELD_VALUE 150 -#define RESUME 151 -#define MATCH_CLASS 152 -#define BUILD_CONST_KEY_MAP 156 -#define BUILD_STRING 157 -#define CONVERT_VALUE 158 -#define LIST_EXTEND 162 -#define SET_UPDATE 163 -#define DICT_MERGE 164 -#define DICT_UPDATE 165 -#define LOAD_FAST_LOAD_FAST 168 -#define STORE_FAST_LOAD_FAST 169 -#define STORE_FAST_STORE_FAST 170 -#define CALL 171 -#define KW_NAMES 172 -#define CALL_INTRINSIC_1 173 -#define CALL_INTRINSIC_2 174 -#define LOAD_FROM_DICT_OR_GLOBALS 175 -#define LOAD_FROM_DICT_OR_DEREF 176 -#define SET_FUNCTION_ATTRIBUTE 177 -#define ENTER_EXECUTOR 230 +#define BINARY_SUBSCR_TUPLE_INT 18 +#define CHECK_EG_MATCH 19 +#define CHECK_EXC_MATCH 20 +#define CLEANUP_THROW 21 +#define DELETE_SUBSCR 22 +#define END_ASYNC_FOR 23 +#define END_FOR 24 +#define END_SEND 25 +#define EXIT_INIT_CHECK 26 +#define FORMAT_SIMPLE 27 +#define FORMAT_WITH_SPEC 28 +#define GET_AITER 29 +#define GET_ANEXT 30 +#define GET_ITER 31 +#define GET_LEN 32 +#define GET_YIELD_FROM_ITER 33 +#define INTERPRETER_EXIT 34 +#define LOAD_ASSERTION_ERROR 35 +#define LOAD_BUILD_CLASS 36 +#define LOAD_LOCALS 37 +#define MAKE_FUNCTION 38 +#define MATCH_KEYS 39 +#define MATCH_MAPPING 40 +#define MATCH_SEQUENCE 41 +#define NOP 42 +#define POP_EXCEPT 43 +#define POP_TOP 44 +#define PUSH_EXC_INFO 45 +#define PUSH_NULL 46 +#define RETURN_GENERATOR 47 +#define RETURN_VALUE 48 +#define SETUP_ANNOTATIONS 49 +#define STORE_ATTR_INSTANCE_VALUE 50 +#define STORE_ATTR_SLOT 51 +#define STORE_SLICE 52 +#define STORE_SUBSCR 53 +#define STORE_SUBSCR_DICT 54 +#define STORE_SUBSCR_LIST_INT 55 +#define TO_BOOL 56 +#define TO_BOOL_ALWAYS_TRUE 57 +#define TO_BOOL_BOOL 58 +#define TO_BOOL_INT 59 +#define TO_BOOL_LIST 60 +#define TO_BOOL_NONE 61 +#define TO_BOOL_STR 62 +#define UNARY_INVERT 63 +#define UNARY_NEGATIVE 64 +#define UNARY_NOT 65 +#define WITH_EXCEPT_START 66 +#define HAVE_ARGUMENT 67 +#define BINARY_OP 67 +#define BUILD_CONST_KEY_MAP 68 +#define BUILD_LIST 69 +#define BUILD_MAP 70 +#define BUILD_SET 71 +#define BUILD_SLICE 72 +#define BUILD_STRING 73 +#define BUILD_TUPLE 74 +#define CALL 75 +#define CALL_BOUND_METHOD_EXACT_ARGS 76 +#define CALL_BUILTIN_CLASS 77 +#define CALL_BUILTIN_FAST_WITH_KEYWORDS 78 +#define CALL_FUNCTION_EX 79 +#define CALL_INTRINSIC_1 80 +#define CALL_INTRINSIC_2 81 +#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 82 +#define CALL_NO_KW_ALLOC_AND_ENTER_INIT 83 +#define CALL_NO_KW_BUILTIN_FAST 84 +#define CALL_NO_KW_BUILTIN_O 85 +#define CALL_NO_KW_ISINSTANCE 86 +#define CALL_NO_KW_LEN 87 +#define CALL_NO_KW_LIST_APPEND 88 +#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 89 +#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 90 +#define CALL_NO_KW_METHOD_DESCRIPTOR_O 91 +#define CALL_NO_KW_STR_1 92 +#define CALL_NO_KW_TUPLE_1 93 +#define CALL_NO_KW_TYPE_1 94 +#define CALL_PY_EXACT_ARGS 95 +#define CALL_PY_WITH_DEFAULTS 96 +#define COMPARE_OP 97 +#define COMPARE_OP_FLOAT 98 +#define COMPARE_OP_INT 99 +#define COMPARE_OP_STR 100 +#define CONTAINS_OP 101 +#define CONVERT_VALUE 102 +#define COPY 103 +#define COPY_FREE_VARS 104 +#define DELETE_ATTR 105 +#define DELETE_DEREF 106 +#define DELETE_FAST 107 +#define DELETE_GLOBAL 108 +#define DELETE_NAME 109 +#define DICT_MERGE 110 +#define DICT_UPDATE 111 +#define ENTER_EXECUTOR 112 +#define EXTENDED_ARG 113 +#define FOR_ITER 114 +#define FOR_ITER_GEN 115 +#define FOR_ITER_LIST 116 +#define FOR_ITER_RANGE 117 +#define FOR_ITER_TUPLE 118 +#define GET_AWAITABLE 119 +#define IMPORT_FROM 120 +#define IMPORT_NAME 121 +#define IS_OP 122 +#define JUMP_BACKWARD 123 +#define JUMP_BACKWARD_NO_INTERRUPT 124 +#define JUMP_FORWARD 125 +#define KW_NAMES 126 +#define LIST_APPEND 127 +#define LIST_EXTEND 128 +#define LOAD_ATTR 129 +#define LOAD_ATTR_CLASS 130 +#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 131 +#define LOAD_ATTR_INSTANCE_VALUE 132 +#define LOAD_ATTR_METHOD_LAZY_DICT 133 +#define LOAD_ATTR_METHOD_NO_DICT 134 +#define LOAD_ATTR_METHOD_WITH_VALUES 135 +#define LOAD_ATTR_MODULE 136 +#define LOAD_ATTR_NONDESCRIPTOR_NO_DICT 137 +#define LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 138 +#define LOAD_ATTR_PROPERTY 139 +#define LOAD_ATTR_SLOT 140 +#define LOAD_ATTR_WITH_HINT 141 +#define LOAD_CONST 142 +#define LOAD_DEREF 143 +#define LOAD_FAST 144 +#define LOAD_FAST_AND_CLEAR 145 +#define LOAD_FAST_CHECK 146 +#define LOAD_FAST_LOAD_FAST 147 +#define LOAD_FROM_DICT_OR_DEREF 148 +#define LOAD_FROM_DICT_OR_GLOBALS 149 +#define LOAD_GLOBAL 150 +#define LOAD_GLOBAL_BUILTIN 151 +#define LOAD_GLOBAL_MODULE 152 +#define LOAD_NAME 153 +#define LOAD_SUPER_ATTR 154 +#define LOAD_SUPER_ATTR_ATTR 155 +#define LOAD_SUPER_ATTR_METHOD 156 +#define MAKE_CELL 157 +#define MAP_ADD 158 +#define MATCH_CLASS 159 +#define POP_JUMP_IF_FALSE 160 +#define POP_JUMP_IF_NONE 161 +#define POP_JUMP_IF_NOT_NONE 162 +#define POP_JUMP_IF_TRUE 163 +#define RAISE_VARARGS 164 +#define RERAISE 165 +#define RESUME 166 +#define RETURN_CONST 167 +#define SEND 168 +#define SEND_GEN 169 +#define SET_ADD 170 +#define SET_FUNCTION_ATTRIBUTE 171 +#define SET_UPDATE 172 +#define STORE_ATTR 173 +#define STORE_ATTR_WITH_HINT 174 +#define STORE_DEREF 175 +#define STORE_FAST 176 +#define STORE_FAST_LOAD_FAST 177 +#define STORE_FAST_STORE_FAST 178 +#define STORE_GLOBAL 179 +#define STORE_NAME 180 +#define SWAP 181 +#define UNPACK_EX 182 +#define UNPACK_SEQUENCE 183 +#define UNPACK_SEQUENCE_LIST 184 +#define UNPACK_SEQUENCE_TUPLE 185 +#define UNPACK_SEQUENCE_TWO_TUPLE 186 +#define YIELD_VALUE 187 #define MIN_INSTRUMENTED_OPCODE 237 -#define INSTRUMENTED_LOAD_SUPER_ATTR 237 -#define INSTRUMENTED_POP_JUMP_IF_NONE 238 -#define INSTRUMENTED_POP_JUMP_IF_NOT_NONE 239 -#define INSTRUMENTED_RESUME 240 -#define INSTRUMENTED_CALL 241 -#define INSTRUMENTED_RETURN_VALUE 242 -#define INSTRUMENTED_YIELD_VALUE 243 -#define INSTRUMENTED_CALL_FUNCTION_EX 244 -#define INSTRUMENTED_JUMP_FORWARD 245 -#define INSTRUMENTED_JUMP_BACKWARD 246 -#define INSTRUMENTED_RETURN_CONST 247 -#define INSTRUMENTED_FOR_ITER 248 -#define INSTRUMENTED_POP_JUMP_IF_FALSE 249 +#define INSTRUMENTED_RESUME 237 +#define INSTRUMENTED_END_FOR 238 +#define INSTRUMENTED_END_SEND 239 +#define INSTRUMENTED_RETURN_VALUE 240 +#define INSTRUMENTED_RETURN_CONST 241 +#define INSTRUMENTED_YIELD_VALUE 242 +#define INSTRUMENTED_LOAD_SUPER_ATTR 243 +#define INSTRUMENTED_FOR_ITER 244 +#define INSTRUMENTED_CALL 245 +#define INSTRUMENTED_CALL_FUNCTION_EX 246 +#define INSTRUMENTED_INSTRUCTION 247 +#define INSTRUMENTED_JUMP_FORWARD 248 +#define INSTRUMENTED_JUMP_BACKWARD 249 #define INSTRUMENTED_POP_JUMP_IF_TRUE 250 -#define INSTRUMENTED_END_FOR 251 -#define INSTRUMENTED_END_SEND 252 -#define INSTRUMENTED_INSTRUCTION 253 +#define INSTRUMENTED_POP_JUMP_IF_FALSE 251 +#define INSTRUMENTED_POP_JUMP_IF_NONE 252 +#define INSTRUMENTED_POP_JUMP_IF_NOT_NONE 253 #define INSTRUMENTED_LINE 254 -#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 LOAD_SUPER_METHOD 263 -#define LOAD_ZERO_SUPER_METHOD 264 -#define LOAD_ZERO_SUPER_ATTR 265 -#define STORE_FAST_MAYBE_NULL 266 -#define LOAD_CLOSURE 267 -#define TO_BOOL_ALWAYS_TRUE 7 -#define TO_BOOL_BOOL 8 -#define TO_BOOL_INT 10 -#define TO_BOOL_LIST 13 -#define TO_BOOL_NONE 14 -#define TO_BOOL_STR 18 -#define BINARY_OP_MULTIPLY_INT 19 -#define BINARY_OP_ADD_INT 20 -#define BINARY_OP_SUBTRACT_INT 21 -#define BINARY_OP_MULTIPLY_FLOAT 22 -#define BINARY_OP_ADD_FLOAT 23 -#define BINARY_OP_SUBTRACT_FLOAT 28 -#define BINARY_OP_ADD_UNICODE 29 -#define BINARY_OP_INPLACE_ADD_UNICODE 34 -#define BINARY_SUBSCR_DICT 38 -#define BINARY_SUBSCR_GETITEM 39 -#define BINARY_SUBSCR_LIST_INT 42 -#define BINARY_SUBSCR_STR_INT 43 -#define BINARY_SUBSCR_TUPLE_INT 44 -#define STORE_SUBSCR_DICT 45 -#define STORE_SUBSCR_LIST_INT 46 -#define SEND_GEN 47 -#define UNPACK_SEQUENCE_TWO_TUPLE 48 -#define UNPACK_SEQUENCE_TUPLE 56 -#define UNPACK_SEQUENCE_LIST 57 -#define STORE_ATTR_INSTANCE_VALUE 58 -#define STORE_ATTR_SLOT 59 -#define STORE_ATTR_WITH_HINT 62 -#define LOAD_GLOBAL_MODULE 63 -#define LOAD_GLOBAL_BUILTIN 64 -#define LOAD_SUPER_ATTR_ATTR 65 -#define LOAD_SUPER_ATTR_METHOD 66 -#define LOAD_ATTR_INSTANCE_VALUE 67 -#define LOAD_ATTR_MODULE 70 -#define LOAD_ATTR_WITH_HINT 72 -#define LOAD_ATTR_SLOT 73 -#define LOAD_ATTR_CLASS 76 -#define LOAD_ATTR_PROPERTY 77 -#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 78 -#define LOAD_ATTR_METHOD_WITH_VALUES 79 -#define LOAD_ATTR_METHOD_NO_DICT 80 -#define LOAD_ATTR_METHOD_LAZY_DICT 81 -#define LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 82 -#define LOAD_ATTR_NONDESCRIPTOR_NO_DICT 84 -#define COMPARE_OP_FLOAT 86 -#define COMPARE_OP_INT 88 -#define COMPARE_OP_STR 111 -#define FOR_ITER_LIST 112 -#define FOR_ITER_TUPLE 113 -#define FOR_ITER_RANGE 132 -#define FOR_ITER_GEN 136 -#define CALL_BOUND_METHOD_EXACT_ARGS 148 -#define CALL_PY_EXACT_ARGS 153 -#define CALL_PY_WITH_DEFAULTS 154 -#define CALL_NO_KW_TYPE_1 155 -#define CALL_NO_KW_STR_1 159 -#define CALL_NO_KW_TUPLE_1 160 -#define CALL_BUILTIN_CLASS 161 -#define CALL_NO_KW_BUILTIN_O 166 -#define CALL_NO_KW_BUILTIN_FAST 167 -#define CALL_BUILTIN_FAST_WITH_KEYWORDS 178 -#define CALL_NO_KW_LEN 179 -#define CALL_NO_KW_ISINSTANCE 180 -#define CALL_NO_KW_LIST_APPEND 181 -#define CALL_NO_KW_METHOD_DESCRIPTOR_O 182 -#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 183 -#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 184 -#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 185 -#define CALL_NO_KW_ALLOC_AND_ENTER_INIT 186 - +#define JUMP 256 +#define JUMP_NO_INTERRUPT 257 +#define LOAD_CLOSURE 258 +#define LOAD_METHOD 259 +#define LOAD_SUPER_METHOD 260 +#define LOAD_ZERO_SUPER_ATTR 261 +#define LOAD_ZERO_SUPER_METHOD 262 +#define POP_BLOCK 263 +#define SETUP_CLEANUP 264 +#define SETUP_FINALLY 265 +#define SETUP_WITH 266 +#define STORE_FAST_MAYBE_NULL 267 #ifdef __cplusplus } |