showbc: Print operation mnemonic in BINARY_OP.
This commit is contained in:
parent
df103462dc
commit
1ee1785bed
|
@ -362,7 +362,7 @@ STATIC mp_obj_t instance_unary_op(mp_uint_t op, mp_obj_t self_in) {
|
|||
}
|
||||
}
|
||||
|
||||
STATIC const qstr binary_op_method_name[] = {
|
||||
const qstr mp_binary_op_method_name[] = {
|
||||
/*
|
||||
MP_BINARY_OP_OR,
|
||||
MP_BINARY_OP_XOR,
|
||||
|
@ -435,7 +435,7 @@ STATIC mp_obj_t instance_binary_op(mp_uint_t op, mp_obj_t lhs_in, mp_obj_t rhs_i
|
|||
// Note: For ducktyping, CPython does not look in the instance members or use
|
||||
// __getattr__ or __getattribute__. It only looks in the class dictionary.
|
||||
mp_obj_instance_t *lhs = lhs_in;
|
||||
qstr op_name = binary_op_method_name[op];
|
||||
qstr op_name = mp_binary_op_method_name[op];
|
||||
/* Still try to lookup native slot
|
||||
if (op_name == 0) {
|
||||
return MP_OBJ_NULL;
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#include "runtime.h"
|
||||
#include "bc0.h"
|
||||
#include "bc.h"
|
||||
extern const qstr mp_binary_op_method_name[];
|
||||
|
||||
#if MICROPY_DEBUG_PRINTERS
|
||||
|
||||
|
@ -509,7 +510,8 @@ const byte *mp_bytecode_print_str(const byte *ip) {
|
|||
} else if (ip[-1] < MP_BC_UNARY_OP_MULTI + 5) {
|
||||
printf("UNARY_OP " UINT_FMT, (mp_uint_t)ip[-1] - MP_BC_UNARY_OP_MULTI);
|
||||
} else if (ip[-1] < MP_BC_BINARY_OP_MULTI + 35) {
|
||||
printf("BINARY_OP " UINT_FMT, (mp_uint_t)ip[-1] - MP_BC_BINARY_OP_MULTI);
|
||||
mp_uint_t op = ip[-1] - MP_BC_BINARY_OP_MULTI;
|
||||
printf("BINARY_OP " UINT_FMT " %s", op, qstr_str(mp_binary_op_method_name[op]));
|
||||
} else {
|
||||
printf("code %p, byte code 0x%02x not implemented\n", ip, ip[-1]);
|
||||
assert(0);
|
||||
|
|
Loading…
Reference in New Issue