gh-109256: allocate opcode IDs for internal opcodes in their own range (#109269)

This commit is contained in:
Irit Katriel 2023-09-12 11:36:17 +01:00 • committed by GitHub
parent 247ee1bf84
commit 8b55adfa8f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 778 additions and 763 deletions

372
Include/opcode_ids.h generated
View file

@ -13,193 +13,193 @@ extern "C" {
#define CACHE 0
#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 BINARY_OP_INPLACE_ADD_UNICODE 3
#define BINARY_SLICE 4
#define BINARY_SUBSCR 5
#define CHECK_EG_MATCH 6
#define CHECK_EXC_MATCH 7
#define CLEANUP_THROW 8
#define DELETE_SUBSCR 9
#define END_ASYNC_FOR 10
#define END_FOR 11
#define END_SEND 12
#define EXIT_INIT_CHECK 13
#define FORMAT_SIMPLE 14
#define FORMAT_WITH_SPEC 15
#define GET_AITER 16
#define RESERVED 17
#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 RESUME_CHECK 47
#define RETURN_GENERATOR 48
#define RETURN_VALUE 49
#define SETUP_ANNOTATIONS 50
#define STORE_ATTR_INSTANCE_VALUE 51
#define STORE_ATTR_SLOT 52
#define STORE_SLICE 53
#define STORE_SUBSCR 54
#define STORE_SUBSCR_DICT 55
#define STORE_SUBSCR_LIST_INT 56
#define TO_BOOL 57
#define TO_BOOL_ALWAYS_TRUE 58
#define TO_BOOL_BOOL 59
#define TO_BOOL_INT 60
#define TO_BOOL_LIST 61
#define TO_BOOL_NONE 62
#define TO_BOOL_STR 63
#define UNARY_INVERT 64
#define UNARY_NEGATIVE 65
#define UNARY_NOT 66
#define WITH_EXCEPT_START 67
#define HAVE_ARGUMENT 68
#define BINARY_OP 68
#define BUILD_CONST_KEY_MAP 69
#define BUILD_LIST 70
#define BUILD_MAP 71
#define BUILD_SET 72
#define BUILD_SLICE 73
#define BUILD_STRING 74
#define BUILD_TUPLE 75
#define CALL 76
#define CALL_BOUND_METHOD_EXACT_ARGS 77
#define CALL_BUILTIN_CLASS 78
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 79
#define CALL_FUNCTION_EX 80
#define CALL_INTRINSIC_1 81
#define CALL_INTRINSIC_2 82
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 83
#define CALL_NO_KW_ALLOC_AND_ENTER_INIT 84
#define CALL_NO_KW_BUILTIN_FAST 85
#define CALL_NO_KW_BUILTIN_O 86
#define CALL_NO_KW_ISINSTANCE 87
#define CALL_NO_KW_LEN 88
#define CALL_NO_KW_LIST_APPEND 89
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 90
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 91
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 92
#define CALL_NO_KW_STR_1 93
#define CALL_NO_KW_TUPLE_1 94
#define CALL_NO_KW_TYPE_1 95
#define CALL_PY_EXACT_ARGS 96
#define CALL_PY_WITH_DEFAULTS 97
#define COMPARE_OP 98
#define COMPARE_OP_FLOAT 99
#define COMPARE_OP_INT 100
#define COMPARE_OP_STR 101
#define CONTAINS_OP 102
#define CONVERT_VALUE 103
#define COPY 104
#define COPY_FREE_VARS 105
#define DELETE_ATTR 106
#define DELETE_DEREF 107
#define DELETE_FAST 108
#define DELETE_GLOBAL 109
#define DELETE_NAME 110
#define DICT_MERGE 111
#define DICT_UPDATE 112
#define ENTER_EXECUTOR 113
#define EXTENDED_ARG 114
#define FOR_ITER 115
#define FOR_ITER_GEN 116
#define FOR_ITER_LIST 117
#define FOR_ITER_RANGE 118
#define FOR_ITER_TUPLE 119
#define GET_AWAITABLE 120
#define IMPORT_FROM 121
#define IMPORT_NAME 122
#define IS_OP 123
#define JUMP_BACKWARD 124
#define JUMP_BACKWARD_NO_INTERRUPT 125
#define JUMP_FORWARD 126
#define KW_NAMES 127
#define LIST_APPEND 128
#define LIST_EXTEND 129
#define LOAD_ATTR 130
#define LOAD_ATTR_CLASS 131
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 132
#define LOAD_ATTR_INSTANCE_VALUE 133
#define LOAD_ATTR_METHOD_LAZY_DICT 134
#define LOAD_ATTR_METHOD_NO_DICT 135
#define LOAD_ATTR_METHOD_WITH_VALUES 136
#define LOAD_ATTR_MODULE 137
#define LOAD_ATTR_NONDESCRIPTOR_NO_DICT 138
#define LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 139
#define LOAD_ATTR_PROPERTY 140
#define LOAD_ATTR_SLOT 141
#define LOAD_ATTR_WITH_HINT 142
#define LOAD_CONST 143
#define LOAD_DEREF 144
#define LOAD_FAST 145
#define LOAD_FAST_AND_CLEAR 146
#define LOAD_FAST_CHECK 147
#define LOAD_FAST_LOAD_FAST 148
#define LOAD_FROM_DICT_OR_DEREF 149
#define LOAD_FROM_DICT_OR_GLOBALS 150
#define LOAD_GLOBAL 151
#define LOAD_GLOBAL_BUILTIN 152
#define LOAD_GLOBAL_MODULE 153
#define LOAD_NAME 154
#define LOAD_SUPER_ATTR 155
#define LOAD_SUPER_ATTR_ATTR 156
#define LOAD_SUPER_ATTR_METHOD 157
#define MAKE_CELL 158
#define MAP_ADD 159
#define MATCH_CLASS 160
#define POP_JUMP_IF_FALSE 161
#define POP_JUMP_IF_NONE 162
#define POP_JUMP_IF_NOT_NONE 163
#define POP_JUMP_IF_TRUE 164
#define RAISE_VARARGS 165
#define RESUME 166
#define RERAISE 167
#define RETURN_CONST 168
#define SEND 169
#define SEND_GEN 170
#define SET_ADD 171
#define SET_FUNCTION_ATTRIBUTE 172
#define SET_UPDATE 173
#define STORE_ATTR 174
#define STORE_ATTR_WITH_HINT 175
#define STORE_DEREF 176
#define STORE_FAST 177
#define STORE_FAST_LOAD_FAST 178
#define STORE_FAST_STORE_FAST 179
#define STORE_GLOBAL 180
#define STORE_NAME 181
#define SWAP 182
#define UNPACK_EX 183
#define UNPACK_SEQUENCE 184
#define UNPACK_SEQUENCE_LIST 185
#define UNPACK_SEQUENCE_TUPLE 186
#define UNPACK_SEQUENCE_TWO_TUPLE 187
#define YIELD_VALUE 188
#define GET_ANEXT 18
#define GET_ITER 19
#define GET_LEN 20
#define GET_YIELD_FROM_ITER 21
#define INTERPRETER_EXIT 22
#define LOAD_ASSERTION_ERROR 23
#define LOAD_BUILD_CLASS 24
#define LOAD_LOCALS 25
#define MAKE_FUNCTION 26
#define MATCH_KEYS 27
#define MATCH_MAPPING 28
#define MATCH_SEQUENCE 29
#define NOP 30
#define POP_EXCEPT 31
#define POP_TOP 32
#define PUSH_EXC_INFO 33
#define PUSH_NULL 34
#define RETURN_GENERATOR 35
#define RETURN_VALUE 36
#define SETUP_ANNOTATIONS 37
#define STORE_SLICE 38
#define STORE_SUBSCR 39
#define TO_BOOL 40
#define UNARY_INVERT 41
#define UNARY_NEGATIVE 42
#define UNARY_NOT 43
#define WITH_EXCEPT_START 44
#define HAVE_ARGUMENT 45
#define BINARY_OP 45
#define BUILD_CONST_KEY_MAP 46
#define BUILD_LIST 47
#define BUILD_MAP 48
#define BUILD_SET 49
#define BUILD_SLICE 50
#define BUILD_STRING 51
#define BUILD_TUPLE 52
#define CALL 53
#define CALL_FUNCTION_EX 54
#define CALL_INTRINSIC_1 55
#define CALL_INTRINSIC_2 56
#define COMPARE_OP 57
#define CONTAINS_OP 58
#define CONVERT_VALUE 59
#define COPY 60
#define COPY_FREE_VARS 61
#define DELETE_ATTR 62
#define DELETE_DEREF 63
#define DELETE_FAST 64
#define DELETE_GLOBAL 65
#define DELETE_NAME 66
#define DICT_MERGE 67
#define DICT_UPDATE 68
#define ENTER_EXECUTOR 69
#define EXTENDED_ARG 70
#define FOR_ITER 71
#define GET_AWAITABLE 72
#define IMPORT_FROM 73
#define IMPORT_NAME 74
#define IS_OP 75
#define JUMP_BACKWARD 76
#define JUMP_BACKWARD_NO_INTERRUPT 77
#define JUMP_FORWARD 78
#define KW_NAMES 79
#define LIST_APPEND 80
#define LIST_EXTEND 81
#define LOAD_ATTR 82
#define LOAD_CONST 83
#define LOAD_DEREF 84
#define LOAD_FAST 85
#define LOAD_FAST_AND_CLEAR 86
#define LOAD_FAST_CHECK 87
#define LOAD_FAST_LOAD_FAST 88
#define LOAD_FROM_DICT_OR_DEREF 89
#define LOAD_FROM_DICT_OR_GLOBALS 90
#define LOAD_GLOBAL 91
#define LOAD_NAME 92
#define LOAD_SUPER_ATTR 93
#define MAKE_CELL 94
#define MAP_ADD 95
#define MATCH_CLASS 96
#define POP_JUMP_IF_FALSE 97
#define POP_JUMP_IF_NONE 98
#define POP_JUMP_IF_NOT_NONE 99
#define POP_JUMP_IF_TRUE 100
#define RAISE_VARARGS 101
#define RERAISE 102
#define RETURN_CONST 103
#define SEND 104
#define SET_ADD 105
#define SET_FUNCTION_ATTRIBUTE 106
#define SET_UPDATE 107
#define STORE_ATTR 108
#define STORE_DEREF 109
#define STORE_FAST 110
#define STORE_FAST_LOAD_FAST 111
#define STORE_FAST_STORE_FAST 112
#define STORE_GLOBAL 113
#define STORE_NAME 114
#define SWAP 115
#define UNPACK_EX 116
#define UNPACK_SEQUENCE 117
#define YIELD_VALUE 118
#define RESUME 149
#define BINARY_OP_ADD_FLOAT 150
#define BINARY_OP_ADD_INT 151
#define BINARY_OP_ADD_UNICODE 152
#define BINARY_OP_MULTIPLY_FLOAT 153
#define BINARY_OP_MULTIPLY_INT 154
#define BINARY_OP_SUBTRACT_FLOAT 155
#define BINARY_OP_SUBTRACT_INT 156
#define BINARY_SUBSCR_DICT 157
#define BINARY_SUBSCR_GETITEM 158
#define BINARY_SUBSCR_LIST_INT 159
#define BINARY_SUBSCR_STR_INT 160
#define BINARY_SUBSCR_TUPLE_INT 161
#define CALL_BOUND_METHOD_EXACT_ARGS 162
#define CALL_BUILTIN_CLASS 163
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 164
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 165
#define CALL_NO_KW_ALLOC_AND_ENTER_INIT 166
#define CALL_NO_KW_BUILTIN_FAST 167
#define CALL_NO_KW_BUILTIN_O 168
#define CALL_NO_KW_ISINSTANCE 169
#define CALL_NO_KW_LEN 170
#define CALL_NO_KW_LIST_APPEND 171
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 172
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 173
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 174
#define CALL_NO_KW_STR_1 175
#define CALL_NO_KW_TUPLE_1 176
#define CALL_NO_KW_TYPE_1 177
#define CALL_PY_EXACT_ARGS 178
#define CALL_PY_WITH_DEFAULTS 179
#define COMPARE_OP_FLOAT 180
#define COMPARE_OP_INT 181
#define COMPARE_OP_STR 182
#define FOR_ITER_GEN 183
#define FOR_ITER_LIST 184
#define FOR_ITER_RANGE 185
#define FOR_ITER_TUPLE 186
#define LOAD_ATTR_CLASS 187
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 188
#define LOAD_ATTR_INSTANCE_VALUE 189
#define LOAD_ATTR_METHOD_LAZY_DICT 190
#define LOAD_ATTR_METHOD_NO_DICT 191
#define LOAD_ATTR_METHOD_WITH_VALUES 192
#define LOAD_ATTR_MODULE 193
#define LOAD_ATTR_NONDESCRIPTOR_NO_DICT 194
#define LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 195
#define LOAD_ATTR_PROPERTY 196
#define LOAD_ATTR_SLOT 197
#define LOAD_ATTR_WITH_HINT 198
#define LOAD_GLOBAL_BUILTIN 199
#define LOAD_GLOBAL_MODULE 200
#define LOAD_SUPER_ATTR_ATTR 201
#define LOAD_SUPER_ATTR_METHOD 202
#define RESUME_CHECK 203
#define SEND_GEN 204
#define STORE_ATTR_INSTANCE_VALUE 205
#define STORE_ATTR_SLOT 206
#define STORE_ATTR_WITH_HINT 207
#define STORE_SUBSCR_DICT 208
#define STORE_SUBSCR_LIST_INT 209
#define TO_BOOL_ALWAYS_TRUE 210
#define TO_BOOL_BOOL 211
#define TO_BOOL_INT 212
#define TO_BOOL_LIST 213
#define TO_BOOL_NONE 214
#define TO_BOOL_STR 215
#define UNPACK_SEQUENCE_LIST 216
#define UNPACK_SEQUENCE_TUPLE 217
#define UNPACK_SEQUENCE_TWO_TUPLE 218
#define MIN_INSTRUMENTED_OPCODE 237
#define INSTRUMENTED_RESUME 237
#define INSTRUMENTED_END_FOR 238