@@ -16,21 +16,21 @@ extern const char * const _PyOpcode_uop_name[MAX_UOP_ID+1];
16
16
17
17
#ifdef NEED_OPCODE_METADATA
18
18
const uint16_t _PyUop_Flags [MAX_UOP_ID + 1 ] = {
19
- [_NOP ] = HAS_PURE_FLAG ,
19
+ [_NOP ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
20
20
[_RESUME_CHECK ] = HAS_DEOPT_FLAG ,
21
21
[_LOAD_FAST_CHECK ] = HAS_ARG_FLAG | HAS_LOCAL_FLAG | HAS_ERROR_FLAG ,
22
- [_LOAD_FAST ] = HAS_ARG_FLAG | HAS_LOCAL_FLAG | HAS_PURE_FLAG ,
22
+ [_LOAD_FAST ] = HAS_ARG_FLAG | HAS_LOCAL_FLAG | HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
23
23
[_LOAD_FAST_AND_CLEAR ] = HAS_ARG_FLAG | HAS_LOCAL_FLAG ,
24
24
[_LOAD_FAST_LOAD_FAST ] = HAS_ARG_FLAG | HAS_LOCAL_FLAG ,
25
- [_LOAD_CONST ] = HAS_ARG_FLAG | HAS_CONST_FLAG | HAS_PURE_FLAG ,
25
+ [_LOAD_CONST ] = HAS_ARG_FLAG | HAS_CONST_FLAG | HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
26
26
[_STORE_FAST ] = HAS_ARG_FLAG | HAS_LOCAL_FLAG ,
27
27
[_STORE_FAST_LOAD_FAST ] = HAS_ARG_FLAG | HAS_LOCAL_FLAG ,
28
28
[_STORE_FAST_STORE_FAST ] = HAS_ARG_FLAG | HAS_LOCAL_FLAG ,
29
- [_POP_TOP ] = HAS_PURE_FLAG ,
30
- [_PUSH_NULL ] = HAS_PURE_FLAG ,
31
- [_END_SEND ] = HAS_PURE_FLAG ,
29
+ [_POP_TOP ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
30
+ [_PUSH_NULL ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
31
+ [_END_SEND ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
32
32
[_UNARY_NEGATIVE ] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG ,
33
- [_UNARY_NOT ] = HAS_PURE_FLAG ,
33
+ [_UNARY_NOT ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
34
34
[_TO_BOOL ] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG ,
35
35
[_TO_BOOL_BOOL ] = HAS_DEOPT_FLAG ,
36
36
[_TO_BOOL_INT ] = HAS_DEOPT_FLAG ,
@@ -40,15 +40,15 @@ const uint16_t _PyUop_Flags[MAX_UOP_ID+1] = {
40
40
[_TO_BOOL_ALWAYS_TRUE ] = HAS_DEOPT_FLAG ,
41
41
[_UNARY_INVERT ] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG ,
42
42
[_GUARD_BOTH_INT ] = HAS_DEOPT_FLAG ,
43
- [_BINARY_OP_MULTIPLY_INT ] = HAS_ERROR_FLAG | HAS_PURE_FLAG ,
44
- [_BINARY_OP_ADD_INT ] = HAS_ERROR_FLAG | HAS_PURE_FLAG ,
45
- [_BINARY_OP_SUBTRACT_INT ] = HAS_ERROR_FLAG | HAS_PURE_FLAG ,
43
+ [_BINARY_OP_MULTIPLY_INT ] = HAS_ERROR_FLAG | HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
44
+ [_BINARY_OP_ADD_INT ] = HAS_ERROR_FLAG | HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
45
+ [_BINARY_OP_SUBTRACT_INT ] = HAS_ERROR_FLAG | HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
46
46
[_GUARD_BOTH_FLOAT ] = HAS_DEOPT_FLAG ,
47
- [_BINARY_OP_MULTIPLY_FLOAT ] = HAS_PURE_FLAG ,
48
- [_BINARY_OP_ADD_FLOAT ] = HAS_PURE_FLAG ,
49
- [_BINARY_OP_SUBTRACT_FLOAT ] = HAS_PURE_FLAG ,
47
+ [_BINARY_OP_MULTIPLY_FLOAT ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
48
+ [_BINARY_OP_ADD_FLOAT ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
49
+ [_BINARY_OP_SUBTRACT_FLOAT ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
50
50
[_GUARD_BOTH_UNICODE ] = HAS_DEOPT_FLAG ,
51
- [_BINARY_OP_ADD_UNICODE ] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG | HAS_PURE_FLAG ,
51
+ [_BINARY_OP_ADD_UNICODE ] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG | HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
52
52
[_BINARY_SUBSCR ] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG ,
53
53
[_BINARY_SLICE ] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG ,
54
54
[_STORE_SLICE ] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG ,
@@ -168,7 +168,7 @@ const uint16_t _PyUop_Flags[MAX_UOP_ID+1] = {
168
168
[_CHECK_PEP_523 ] = HAS_DEOPT_FLAG ,
169
169
[_CHECK_FUNCTION_EXACT_ARGS ] = HAS_ARG_FLAG | HAS_DEOPT_FLAG ,
170
170
[_CHECK_STACK_SPACE ] = HAS_ARG_FLAG | HAS_DEOPT_FLAG ,
171
- [_INIT_CALL_PY_EXACT_ARGS ] = HAS_ARG_FLAG | HAS_ESCAPES_FLAG | HAS_PURE_FLAG ,
171
+ [_INIT_CALL_PY_EXACT_ARGS ] = HAS_ARG_FLAG | HAS_ESCAPES_FLAG | HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
172
172
[_PUSH_FRAME ] = HAS_ESCAPES_FLAG ,
173
173
[_CALL_TYPE_1 ] = HAS_ARG_FLAG | HAS_DEOPT_FLAG ,
174
174
[_CALL_STR_1 ] = HAS_ARG_FLAG | HAS_EVAL_BREAK_FLAG | HAS_DEOPT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG ,
@@ -190,9 +190,9 @@ const uint16_t _PyUop_Flags[MAX_UOP_ID+1] = {
190
190
[_CONVERT_VALUE ] = HAS_ARG_FLAG | HAS_ERROR_FLAG ,
191
191
[_FORMAT_SIMPLE ] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG ,
192
192
[_FORMAT_WITH_SPEC ] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG ,
193
- [_COPY ] = HAS_ARG_FLAG | HAS_PURE_FLAG ,
193
+ [_COPY ] = HAS_ARG_FLAG | HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
194
194
[_BINARY_OP ] = HAS_ARG_FLAG | HAS_ERROR_FLAG ,
195
- [_SWAP ] = HAS_ARG_FLAG | HAS_PURE_FLAG ,
195
+ [_SWAP ] = HAS_ARG_FLAG | HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
196
196
[_GUARD_IS_TRUE_POP ] = HAS_DEOPT_FLAG ,
197
197
[_GUARD_IS_FALSE_POP ] = HAS_DEOPT_FLAG ,
198
198
[_GUARD_IS_NONE_POP ] = HAS_DEOPT_FLAG ,
@@ -204,10 +204,10 @@ const uint16_t _PyUop_Flags[MAX_UOP_ID+1] = {
204
204
[_JUMP_ABSOLUTE ] = HAS_ARG_FLAG | HAS_EVAL_BREAK_FLAG ,
205
205
[_JUMP_ABSOLUTE_HEADER ] = 0 ,
206
206
[_CHECK_VALIDITY ] = HAS_DEOPT_FLAG ,
207
- [_LOAD_CONST_INLINE ] = HAS_PURE_FLAG ,
208
- [_LOAD_CONST_INLINE_BORROW ] = HAS_PURE_FLAG ,
209
- [_LOAD_CONST_INLINE_WITH_NULL ] = HAS_PURE_FLAG ,
210
- [_LOAD_CONST_INLINE_BORROW_WITH_NULL ] = HAS_PURE_FLAG ,
207
+ [_LOAD_CONST_INLINE ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
208
+ [_LOAD_CONST_INLINE_BORROW ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
209
+ [_LOAD_CONST_INLINE_WITH_NULL ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
210
+ [_LOAD_CONST_INLINE_BORROW_WITH_NULL ] = HAS_PURE_FLAG | HAS_PASSTHROUGH_FLAG ,
211
211
[_CHECK_GLOBALS ] = HAS_DEOPT_FLAG ,
212
212
[_CHECK_BUILTINS ] = HAS_DEOPT_FLAG ,
213
213
[_INTERNAL_INCREMENT_OPT_COUNTER ] = 0 ,
0 commit comments