@@ -913,6 +913,9 @@ struct opcode_macro_expansion {
913913#ifndef NEED_OPCODE_METADATA
914914extern const struct opcode_metadata _PyOpcode_opcode_metadata [512 ];
915915extern const struct opcode_macro_expansion _PyOpcode_macro_expansion [256 ];
916+ #ifdef Py_DEBUG
917+ extern const char * const _PyOpcode_uop_name [512 ];
918+ #endif
916919#else
917920const struct opcode_metadata _PyOpcode_opcode_metadata [512 ] = {
918921 [NOP ] = { true, INSTR_FMT_IX , 0 },
@@ -1131,10 +1134,18 @@ const struct opcode_macro_expansion _PyOpcode_macro_expansion[256] = {
11311134 [STORE_FAST ] = { .nuops = 1 , .uops = { { STORE_FAST , 0 , 0 } } },
11321135 [POP_TOP ] = { .nuops = 1 , .uops = { { POP_TOP , 0 , 0 } } },
11331136 [PUSH_NULL ] = { .nuops = 1 , .uops = { { PUSH_NULL , 0 , 0 } } },
1137+ [END_FOR ] = { .nuops = 2 , .uops = { { POP_TOP , 0 , 0 }, { POP_TOP , 0 , 0 } } },
11341138 [END_SEND ] = { .nuops = 1 , .uops = { { END_SEND , 0 , 0 } } },
11351139 [UNARY_NEGATIVE ] = { .nuops = 1 , .uops = { { UNARY_NEGATIVE , 0 , 0 } } },
11361140 [UNARY_NOT ] = { .nuops = 1 , .uops = { { UNARY_NOT , 0 , 0 } } },
11371141 [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 } } },
11381149 [BINARY_SLICE ] = { .nuops = 1 , .uops = { { BINARY_SLICE , 0 , 0 } } },
11391150 [STORE_SLICE ] = { .nuops = 1 , .uops = { { STORE_SLICE , 0 , 0 } } },
11401151 [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] = {
11621173 [DELETE_ATTR ] = { .nuops = 1 , .uops = { { DELETE_ATTR , 0 , 0 } } },
11631174 [STORE_GLOBAL ] = { .nuops = 1 , .uops = { { STORE_GLOBAL , 0 , 0 } } },
11641175 [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 } } },
11651179 [DELETE_DEREF ] = { .nuops = 1 , .uops = { { DELETE_DEREF , 0 , 0 } } },
11661180 [LOAD_FROM_DICT_OR_DEREF ] = { .nuops = 1 , .uops = { { LOAD_FROM_DICT_OR_DEREF , 0 , 0 } } },
11671181 [LOAD_DEREF ] = { .nuops = 1 , .uops = { { LOAD_DEREF , 0 , 0 } } },
@@ -1207,4 +1221,22 @@ const struct opcode_macro_expansion _PyOpcode_macro_expansion[256] = {
12071221 [COPY ] = { .nuops = 1 , .uops = { { COPY , 0 , 0 } } },
12081222 [SWAP ] = { .nuops = 1 , .uops = { { SWAP , 0 , 0 } } },
12091223};
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
12101242#endif
0 commit comments