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_OR,
|
||||||
MP_BINARY_OP_XOR,
|
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
|
// Note: For ducktyping, CPython does not look in the instance members or use
|
||||||
// __getattr__ or __getattribute__. It only looks in the class dictionary.
|
// __getattr__ or __getattribute__. It only looks in the class dictionary.
|
||||||
mp_obj_instance_t *lhs = lhs_in;
|
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
|
/* Still try to lookup native slot
|
||||||
if (op_name == 0) {
|
if (op_name == 0) {
|
||||||
return MP_OBJ_NULL;
|
return MP_OBJ_NULL;
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "runtime.h"
|
#include "runtime.h"
|
||||||
#include "bc0.h"
|
#include "bc0.h"
|
||||||
#include "bc.h"
|
#include "bc.h"
|
||||||
|
extern const qstr mp_binary_op_method_name[];
|
||||||
|
|
||||||
#if MICROPY_DEBUG_PRINTERS
|
#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) {
|
} 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);
|
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) {
|
} 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 {
|
} else {
|
||||||
printf("code %p, byte code 0x%02x not implemented\n", ip, ip[-1]);
|
printf("code %p, byte code 0x%02x not implemented\n", ip, ip[-1]);
|
||||||
assert(0);
|
assert(0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user