py/runtime: When tracing unary/binary ops, output op (method) name.
E.g.: >>> 1+1 binary 26 __add__ 3 3 Output is similar to bytecode dump (numeric code, then op name).
This commit is contained in:
parent
c0877cbb0d
commit
39dd89fe31
|
@ -214,7 +214,7 @@ void mp_delete_global(qstr qst) {
|
|||
}
|
||||
|
||||
mp_obj_t mp_unary_op(mp_unary_op_t op, mp_obj_t arg) {
|
||||
DEBUG_OP_printf("unary " UINT_FMT " %p\n", op, arg);
|
||||
DEBUG_OP_printf("unary " UINT_FMT " %q %p\n", op, mp_unary_op_method_name[op], arg);
|
||||
|
||||
if (op == MP_UNARY_OP_NOT) {
|
||||
// "not x" is the negative of whether "x" is true per Python semantics
|
||||
|
@ -275,7 +275,7 @@ mp_obj_t mp_unary_op(mp_unary_op_t op, mp_obj_t arg) {
|
|||
}
|
||||
|
||||
mp_obj_t mp_binary_op(mp_binary_op_t op, mp_obj_t lhs, mp_obj_t rhs) {
|
||||
DEBUG_OP_printf("binary " UINT_FMT " %p %p\n", op, lhs, rhs);
|
||||
DEBUG_OP_printf("binary " UINT_FMT " %q %p %p\n", op, mp_binary_op_method_name[op], lhs, rhs);
|
||||
|
||||
// TODO correctly distinguish inplace operators for mutable objects
|
||||
// lookup logic that CPython uses for +=:
|
||||
|
|
Loading…
Reference in New Issue