|
1 | | -# This file is generated by Tools/cases_generator/py_metadata_generator.py |
2 | | -# from: |
3 | | -# Python/bytecodes.c |
| 1 | +# This file is generated by scripts/generate_opcode_metadata.py |
| 2 | +# for RustPython bytecode format (CPython 3.13 compatible opcode numbers). |
4 | 3 | # Do not edit! |
5 | | -_specializations = { |
6 | | - "RESUME": [ |
7 | | - "RESUME_CHECK", |
8 | | - ], |
9 | | - "TO_BOOL": [ |
10 | | - "TO_BOOL_ALWAYS_TRUE", |
11 | | - "TO_BOOL_BOOL", |
12 | | - "TO_BOOL_INT", |
13 | | - "TO_BOOL_LIST", |
14 | | - "TO_BOOL_NONE", |
15 | | - "TO_BOOL_STR", |
16 | | - ], |
17 | | - "BINARY_OP": [ |
18 | | - "BINARY_OP_MULTIPLY_INT", |
19 | | - "BINARY_OP_ADD_INT", |
20 | | - "BINARY_OP_SUBTRACT_INT", |
21 | | - "BINARY_OP_MULTIPLY_FLOAT", |
22 | | - "BINARY_OP_ADD_FLOAT", |
23 | | - "BINARY_OP_SUBTRACT_FLOAT", |
24 | | - "BINARY_OP_ADD_UNICODE", |
25 | | - "BINARY_OP_INPLACE_ADD_UNICODE", |
26 | | - ], |
27 | | - "BINARY_SUBSCR": [ |
28 | | - "BINARY_SUBSCR_DICT", |
29 | | - "BINARY_SUBSCR_GETITEM", |
30 | | - "BINARY_SUBSCR_LIST_INT", |
31 | | - "BINARY_SUBSCR_STR_INT", |
32 | | - "BINARY_SUBSCR_TUPLE_INT", |
33 | | - ], |
34 | | - "STORE_SUBSCR": [ |
35 | | - "STORE_SUBSCR_DICT", |
36 | | - "STORE_SUBSCR_LIST_INT", |
37 | | - ], |
38 | | - "SEND": [ |
39 | | - "SEND_GEN", |
40 | | - ], |
41 | | - "UNPACK_SEQUENCE": [ |
42 | | - "UNPACK_SEQUENCE_TWO_TUPLE", |
43 | | - "UNPACK_SEQUENCE_TUPLE", |
44 | | - "UNPACK_SEQUENCE_LIST", |
45 | | - ], |
46 | | - "STORE_ATTR": [ |
47 | | - "STORE_ATTR_INSTANCE_VALUE", |
48 | | - "STORE_ATTR_SLOT", |
49 | | - "STORE_ATTR_WITH_HINT", |
50 | | - ], |
51 | | - "LOAD_GLOBAL": [ |
52 | | - "LOAD_GLOBAL_MODULE", |
53 | | - "LOAD_GLOBAL_BUILTIN", |
54 | | - ], |
55 | | - "LOAD_SUPER_ATTR": [ |
56 | | - "LOAD_SUPER_ATTR_ATTR", |
57 | | - "LOAD_SUPER_ATTR_METHOD", |
58 | | - ], |
59 | | - "LOAD_ATTR": [ |
60 | | - "LOAD_ATTR_INSTANCE_VALUE", |
61 | | - "LOAD_ATTR_MODULE", |
62 | | - "LOAD_ATTR_WITH_HINT", |
63 | | - "LOAD_ATTR_SLOT", |
64 | | - "LOAD_ATTR_CLASS", |
65 | | - "LOAD_ATTR_PROPERTY", |
66 | | - "LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN", |
67 | | - "LOAD_ATTR_METHOD_WITH_VALUES", |
68 | | - "LOAD_ATTR_METHOD_NO_DICT", |
69 | | - "LOAD_ATTR_METHOD_LAZY_DICT", |
70 | | - "LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES", |
71 | | - "LOAD_ATTR_NONDESCRIPTOR_NO_DICT", |
72 | | - ], |
73 | | - "COMPARE_OP": [ |
74 | | - "COMPARE_OP_FLOAT", |
75 | | - "COMPARE_OP_INT", |
76 | | - "COMPARE_OP_STR", |
77 | | - ], |
78 | | - "CONTAINS_OP": [ |
79 | | - "CONTAINS_OP_SET", |
80 | | - "CONTAINS_OP_DICT", |
81 | | - ], |
82 | | - "FOR_ITER": [ |
83 | | - "FOR_ITER_LIST", |
84 | | - "FOR_ITER_TUPLE", |
85 | | - "FOR_ITER_RANGE", |
86 | | - "FOR_ITER_GEN", |
87 | | - ], |
88 | | - "CALL": [ |
89 | | - "CALL_BOUND_METHOD_EXACT_ARGS", |
90 | | - "CALL_PY_EXACT_ARGS", |
91 | | - "CALL_TYPE_1", |
92 | | - "CALL_STR_1", |
93 | | - "CALL_TUPLE_1", |
94 | | - "CALL_BUILTIN_CLASS", |
95 | | - "CALL_BUILTIN_O", |
96 | | - "CALL_BUILTIN_FAST", |
97 | | - "CALL_BUILTIN_FAST_WITH_KEYWORDS", |
98 | | - "CALL_LEN", |
99 | | - "CALL_ISINSTANCE", |
100 | | - "CALL_LIST_APPEND", |
101 | | - "CALL_METHOD_DESCRIPTOR_O", |
102 | | - "CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS", |
103 | | - "CALL_METHOD_DESCRIPTOR_NOARGS", |
104 | | - "CALL_METHOD_DESCRIPTOR_FAST", |
105 | | - "CALL_ALLOC_AND_ENTER_INIT", |
106 | | - "CALL_PY_GENERAL", |
107 | | - "CALL_BOUND_METHOD_GENERAL", |
108 | | - "CALL_NON_PY_GENERAL", |
109 | | - ], |
110 | | -} |
111 | 4 |
|
112 | | -_specialized_opmap = { |
113 | | - 'BINARY_OP_ADD_FLOAT': 150, |
114 | | - 'BINARY_OP_ADD_INT': 151, |
115 | | - 'BINARY_OP_ADD_UNICODE': 152, |
116 | | - 'BINARY_OP_INPLACE_ADD_UNICODE': 3, |
117 | | - 'BINARY_OP_MULTIPLY_FLOAT': 153, |
118 | | - 'BINARY_OP_MULTIPLY_INT': 154, |
119 | | - 'BINARY_OP_SUBTRACT_FLOAT': 155, |
120 | | - 'BINARY_OP_SUBTRACT_INT': 156, |
121 | | - 'BINARY_SUBSCR_DICT': 157, |
122 | | - 'BINARY_SUBSCR_GETITEM': 158, |
123 | | - 'BINARY_SUBSCR_LIST_INT': 159, |
124 | | - 'BINARY_SUBSCR_STR_INT': 160, |
125 | | - 'BINARY_SUBSCR_TUPLE_INT': 161, |
126 | | - 'CALL_ALLOC_AND_ENTER_INIT': 162, |
127 | | - 'CALL_BOUND_METHOD_EXACT_ARGS': 163, |
128 | | - 'CALL_BOUND_METHOD_GENERAL': 164, |
129 | | - 'CALL_BUILTIN_CLASS': 165, |
130 | | - 'CALL_BUILTIN_FAST': 166, |
131 | | - 'CALL_BUILTIN_FAST_WITH_KEYWORDS': 167, |
132 | | - 'CALL_BUILTIN_O': 168, |
133 | | - 'CALL_ISINSTANCE': 169, |
134 | | - 'CALL_LEN': 170, |
135 | | - 'CALL_LIST_APPEND': 171, |
136 | | - 'CALL_METHOD_DESCRIPTOR_FAST': 172, |
137 | | - 'CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS': 173, |
138 | | - 'CALL_METHOD_DESCRIPTOR_NOARGS': 174, |
139 | | - 'CALL_METHOD_DESCRIPTOR_O': 175, |
140 | | - 'CALL_NON_PY_GENERAL': 176, |
141 | | - 'CALL_PY_EXACT_ARGS': 177, |
142 | | - 'CALL_PY_GENERAL': 178, |
143 | | - 'CALL_STR_1': 179, |
144 | | - 'CALL_TUPLE_1': 180, |
145 | | - 'CALL_TYPE_1': 181, |
146 | | - 'COMPARE_OP_FLOAT': 182, |
147 | | - 'COMPARE_OP_INT': 183, |
148 | | - 'COMPARE_OP_STR': 184, |
149 | | - 'CONTAINS_OP_DICT': 185, |
150 | | - 'CONTAINS_OP_SET': 186, |
151 | | - 'FOR_ITER_GEN': 187, |
152 | | - 'FOR_ITER_LIST': 188, |
153 | | - 'FOR_ITER_RANGE': 189, |
154 | | - 'FOR_ITER_TUPLE': 190, |
155 | | - 'LOAD_ATTR_CLASS': 191, |
156 | | - 'LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN': 192, |
157 | | - 'LOAD_ATTR_INSTANCE_VALUE': 193, |
158 | | - 'LOAD_ATTR_METHOD_LAZY_DICT': 194, |
159 | | - 'LOAD_ATTR_METHOD_NO_DICT': 195, |
160 | | - 'LOAD_ATTR_METHOD_WITH_VALUES': 196, |
161 | | - 'LOAD_ATTR_MODULE': 197, |
162 | | - 'LOAD_ATTR_NONDESCRIPTOR_NO_DICT': 198, |
163 | | - 'LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES': 199, |
164 | | - 'LOAD_ATTR_PROPERTY': 200, |
165 | | - 'LOAD_ATTR_SLOT': 201, |
166 | | - 'LOAD_ATTR_WITH_HINT': 202, |
167 | | - 'LOAD_GLOBAL_BUILTIN': 203, |
168 | | - 'LOAD_GLOBAL_MODULE': 204, |
169 | | - 'LOAD_SUPER_ATTR_ATTR': 205, |
170 | | - 'LOAD_SUPER_ATTR_METHOD': 206, |
171 | | - 'RESUME_CHECK': 207, |
172 | | - 'SEND_GEN': 208, |
173 | | - 'STORE_ATTR_INSTANCE_VALUE': 209, |
174 | | - 'STORE_ATTR_SLOT': 210, |
175 | | - 'STORE_ATTR_WITH_HINT': 211, |
176 | | - 'STORE_SUBSCR_DICT': 212, |
177 | | - 'STORE_SUBSCR_LIST_INT': 213, |
178 | | - 'TO_BOOL_ALWAYS_TRUE': 214, |
179 | | - 'TO_BOOL_BOOL': 215, |
180 | | - 'TO_BOOL_INT': 216, |
181 | | - 'TO_BOOL_LIST': 217, |
182 | | - 'TO_BOOL_NONE': 218, |
183 | | - 'TO_BOOL_STR': 219, |
184 | | - 'UNPACK_SEQUENCE_LIST': 220, |
185 | | - 'UNPACK_SEQUENCE_TUPLE': 221, |
186 | | - 'UNPACK_SEQUENCE_TWO_TUPLE': 222, |
187 | | -} |
| 5 | +_specializations = {} |
| 6 | + |
| 7 | +_specialized_opmap = {} |
188 | 8 |
|
189 | 9 | opmap = { |
190 | 10 | 'CACHE': 0, |
191 | | - 'RESERVED': 17, |
192 | | - 'RESUME': 149, |
193 | | - 'INSTRUMENTED_LINE': 254, |
194 | 11 | 'BEFORE_ASYNC_WITH': 1, |
195 | 12 | 'BEFORE_WITH': 2, |
| 13 | + 'RESERVED_3': 3, |
196 | 14 | 'BINARY_SLICE': 4, |
197 | 15 | 'BINARY_SUBSCR': 5, |
198 | 16 | 'CHECK_EG_MATCH': 6, |
|
206 | 24 | 'FORMAT_SIMPLE': 14, |
207 | 25 | 'FORMAT_WITH_SPEC': 15, |
208 | 26 | 'GET_AITER': 16, |
| 27 | + 'RESERVED_17': 17, |
209 | 28 | 'GET_ANEXT': 18, |
210 | 29 | 'GET_ITER': 19, |
211 | 30 | 'GET_LEN': 20, |
|
307 | 126 | 'UNPACK_EX': 116, |
308 | 127 | 'UNPACK_SEQUENCE': 117, |
309 | 128 | 'YIELD_VALUE': 118, |
310 | | - 'INSTRUMENTED_RESUME': 236, |
311 | | - 'INSTRUMENTED_END_FOR': 237, |
312 | | - 'INSTRUMENTED_END_SEND': 238, |
313 | | - 'INSTRUMENTED_RETURN_VALUE': 239, |
314 | | - 'INSTRUMENTED_RETURN_CONST': 240, |
315 | | - 'INSTRUMENTED_YIELD_VALUE': 241, |
316 | | - 'INSTRUMENTED_LOAD_SUPER_ATTR': 242, |
317 | | - 'INSTRUMENTED_FOR_ITER': 243, |
318 | | - 'INSTRUMENTED_CALL': 244, |
319 | | - 'INSTRUMENTED_CALL_KW': 245, |
320 | | - 'INSTRUMENTED_CALL_FUNCTION_EX': 246, |
321 | | - 'INSTRUMENTED_INSTRUCTION': 247, |
322 | | - 'INSTRUMENTED_JUMP_FORWARD': 248, |
323 | | - 'INSTRUMENTED_JUMP_BACKWARD': 249, |
324 | | - 'INSTRUMENTED_POP_JUMP_IF_TRUE': 250, |
325 | | - 'INSTRUMENTED_POP_JUMP_IF_FALSE': 251, |
326 | | - 'INSTRUMENTED_POP_JUMP_IF_NONE': 252, |
327 | | - 'INSTRUMENTED_POP_JUMP_IF_NOT_NONE': 253, |
328 | | - 'JUMP': 256, |
329 | | - 'JUMP_NO_INTERRUPT': 257, |
330 | | - 'LOAD_CLOSURE': 258, |
331 | | - 'LOAD_METHOD': 259, |
332 | | - 'LOAD_SUPER_METHOD': 260, |
333 | | - 'LOAD_ZERO_SUPER_ATTR': 261, |
334 | | - 'LOAD_ZERO_SUPER_METHOD': 262, |
335 | | - 'POP_BLOCK': 263, |
336 | | - 'SETUP_CLEANUP': 264, |
337 | | - 'SETUP_FINALLY': 265, |
338 | | - 'SETUP_WITH': 266, |
339 | | - 'STORE_FAST_MAYBE_NULL': 267, |
| 129 | + 'BREAK': 119, |
| 130 | + 'BUILD_LIST_UNPACK': 120, |
| 131 | + 'BUILD_MAP_FOR_CALL': 121, |
| 132 | + 'BUILD_SET_UNPACK': 122, |
| 133 | + 'BUILD_TUPLE_ITER': 123, |
| 134 | + 'BUILD_TUPLE_UNPACK': 124, |
| 135 | + 'CALL_METHOD': 125, |
| 136 | + 'CALL_METHOD_KW': 126, |
| 137 | + 'CALL_METHOD_EX': 127, |
| 138 | + 'CONTINUE': 128, |
| 139 | + 'END_FINALLY': 129, |
| 140 | + 'ENTER_FINALLY': 130, |
| 141 | + 'JUMP': 131, |
| 142 | + 'JUMP_IF_FALSE_OR_POP': 132, |
| 143 | + 'JUMP_IF_TRUE_OR_POP': 133, |
| 144 | + 'JUMP_IF_NOT_EXC_MATCH': 134, |
| 145 | + 'LOAD_CLASSDEREF': 135, |
| 146 | + 'LOAD_CLOSURE': 136, |
| 147 | + 'LOAD_METHOD': 137, |
| 148 | + 'POP_BLOCK': 138, |
| 149 | + 'REVERSE': 139, |
| 150 | + 'SET_EXC_INFO': 140, |
| 151 | + 'SETUP_EXCEPT': 141, |
| 152 | + 'SETUP_FINALLY': 142, |
| 153 | + 'SETUP_LOOP': 143, |
| 154 | + 'SUBSCRIPT': 144, |
| 155 | + 'UNARY_OP': 145, |
| 156 | + 'YIELD_FROM': 146, |
| 157 | + 'RESERVED_147': 147, |
| 158 | + 'RESERVED_148': 148, |
| 159 | + 'RESUME': 149, |
340 | 160 | } |
341 | 161 |
|
| 162 | +# CPython 3.13 compatible: opcodes < 44 have no argument |
342 | 163 | HAVE_ARGUMENT = 44 |
343 | 164 | MIN_INSTRUMENTED_OPCODE = 236 |
0 commit comments