@@ -913,6 +913,9 @@ struct opcode_macro_expansion {
913
913
#ifndef NEED_OPCODE_METADATA
914
914
extern const struct opcode_metadata _PyOpcode_opcode_metadata [512 ];
915
915
extern const struct opcode_macro_expansion _PyOpcode_macro_expansion [256 ];
916
+ #ifdef Py_DEBUG
917
+ extern const char * const _PyOpcode_uop_name [512 ];
918
+ #endif
916
919
#else
917
920
const struct opcode_metadata _PyOpcode_opcode_metadata [512 ] = {
918
921
[NOP ] = { true, INSTR_FMT_IX , 0 },
@@ -1131,10 +1134,18 @@ const struct opcode_macro_expansion _PyOpcode_macro_expansion[256] = {
1131
1134
[STORE_FAST ] = { .nuops = 1 , .uops = { { STORE_FAST , 0 , 0 } } },
1132
1135
[POP_TOP ] = { .nuops = 1 , .uops = { { POP_TOP , 0 , 0 } } },
1133
1136
[PUSH_NULL ] = { .nuops = 1 , .uops = { { PUSH_NULL , 0 , 0 } } },
1137
+ [END_FOR ] = { .nuops = 2 , .uops = { { POP_TOP , 0 , 0 }, { POP_TOP , 0 , 0 } } },
1134
1138
[END_SEND ] = { .nuops = 1 , .uops = { { END_SEND , 0 , 0 } } },
1135
1139
[UNARY_NEGATIVE ] = { .nuops = 1 , .uops = { { UNARY_NEGATIVE , 0 , 0 } } },
1136
1140
[UNARY_NOT ] = { .nuops = 1 , .uops = { { UNARY_NOT , 0 , 0 } } },
1137
1141
[UNARY_INVERT ] = { .nuops = 1 , .uops = { { UNARY_INVERT , 0 , 0 } } },
1142
+ [BINARY_OP_MULTIPLY_INT ] = { .nuops = 2 , .uops = { { _GUARD_BOTH_INT , 0 , 0 }, { _BINARY_OP_MULTIPLY_INT , 0 , 0 } } },
1143
+ [BINARY_OP_ADD_INT ] = { .nuops = 2 , .uops = { { _GUARD_BOTH_INT , 0 , 0 }, { _BINARY_OP_ADD_INT , 0 , 0 } } },
1144
+ [BINARY_OP_SUBTRACT_INT ] = { .nuops = 2 , .uops = { { _GUARD_BOTH_INT , 0 , 0 }, { _BINARY_OP_SUBTRACT_INT , 0 , 0 } } },
1145
+ [BINARY_OP_MULTIPLY_FLOAT ] = { .nuops = 2 , .uops = { { _GUARD_BOTH_FLOAT , 0 , 0 }, { _BINARY_OP_MULTIPLY_FLOAT , 0 , 0 } } },
1146
+ [BINARY_OP_ADD_FLOAT ] = { .nuops = 2 , .uops = { { _GUARD_BOTH_FLOAT , 0 , 0 }, { _BINARY_OP_ADD_FLOAT , 0 , 0 } } },
1147
+ [BINARY_OP_SUBTRACT_FLOAT ] = { .nuops = 2 , .uops = { { _GUARD_BOTH_FLOAT , 0 , 0 }, { _BINARY_OP_SUBTRACT_FLOAT , 0 , 0 } } },
1148
+ [BINARY_OP_ADD_UNICODE ] = { .nuops = 2 , .uops = { { _GUARD_BOTH_UNICODE , 0 , 0 }, { _BINARY_OP_ADD_UNICODE , 0 , 0 } } },
1138
1149
[BINARY_SLICE ] = { .nuops = 1 , .uops = { { BINARY_SLICE , 0 , 0 } } },
1139
1150
[STORE_SLICE ] = { .nuops = 1 , .uops = { { STORE_SLICE , 0 , 0 } } },
1140
1151
[BINARY_SUBSCR_LIST_INT ] = { .nuops = 1 , .uops = { { BINARY_SUBSCR_LIST_INT , 0 , 0 } } },
@@ -1162,6 +1173,9 @@ const struct opcode_macro_expansion _PyOpcode_macro_expansion[256] = {
1162
1173
[DELETE_ATTR ] = { .nuops = 1 , .uops = { { DELETE_ATTR , 0 , 0 } } },
1163
1174
[STORE_GLOBAL ] = { .nuops = 1 , .uops = { { STORE_GLOBAL , 0 , 0 } } },
1164
1175
[DELETE_GLOBAL ] = { .nuops = 1 , .uops = { { DELETE_GLOBAL , 0 , 0 } } },
1176
+ [LOAD_LOCALS ] = { .nuops = 1 , .uops = { { _LOAD_LOCALS , 0 , 0 } } },
1177
+ [LOAD_NAME ] = { .nuops = 2 , .uops = { { _LOAD_LOCALS , 0 , 0 }, { _LOAD_FROM_DICT_OR_GLOBALS , 0 , 0 } } },
1178
+ [LOAD_FROM_DICT_OR_GLOBALS ] = { .nuops = 1 , .uops = { { _LOAD_FROM_DICT_OR_GLOBALS , 0 , 0 } } },
1165
1179
[DELETE_DEREF ] = { .nuops = 1 , .uops = { { DELETE_DEREF , 0 , 0 } } },
1166
1180
[LOAD_FROM_DICT_OR_DEREF ] = { .nuops = 1 , .uops = { { LOAD_FROM_DICT_OR_DEREF , 0 , 0 } } },
1167
1181
[LOAD_DEREF ] = { .nuops = 1 , .uops = { { LOAD_DEREF , 0 , 0 } } },
@@ -1207,4 +1221,22 @@ const struct opcode_macro_expansion _PyOpcode_macro_expansion[256] = {
1207
1221
[COPY ] = { .nuops = 1 , .uops = { { COPY , 0 , 0 } } },
1208
1222
[SWAP ] = { .nuops = 1 , .uops = { { SWAP , 0 , 0 } } },
1209
1223
};
1224
+ #ifdef Py_DEBUG
1225
+ const char * const _PyOpcode_uop_name [512 ] = {
1226
+ [300 ] = "EXIT_TRACE" ,
1227
+ [301 ] = "SET_IP" ,
1228
+ [302 ] = "_GUARD_BOTH_INT" ,
1229
+ [303 ] = "_BINARY_OP_MULTIPLY_INT" ,
1230
+ [304 ] = "_BINARY_OP_ADD_INT" ,
1231
+ [305 ] = "_BINARY_OP_SUBTRACT_INT" ,
1232
+ [306 ] = "_GUARD_BOTH_FLOAT" ,
1233
+ [307 ] = "_BINARY_OP_MULTIPLY_FLOAT" ,
1234
+ [308 ] = "_BINARY_OP_ADD_FLOAT" ,
1235
+ [309 ] = "_BINARY_OP_SUBTRACT_FLOAT" ,
1236
+ [310 ] = "_GUARD_BOTH_UNICODE" ,
1237
+ [311 ] = "_BINARY_OP_ADD_UNICODE" ,
1238
+ [312 ] = "_LOAD_LOCALS" ,
1239
+ [313 ] = "_LOAD_FROM_DICT_OR_GLOBALS" ,
1240
+ };
1241
+ #endif
1210
1242
#endif
0 commit comments