diff options
Diffstat (limited to 'py/objtype.c')
| -rw-r--r-- | py/objtype.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/py/objtype.c b/py/objtype.c index 45b119f45..e75407683 100644 --- a/py/objtype.c +++ b/py/objtype.c @@ -332,7 +332,9 @@ mp_obj_t mp_obj_instance_make_new(const mp_obj_type_t *self, size_t n_args, size return MP_OBJ_FROM_PTR(o); } -const uint16_t mp_unary_op_method_name[MP_UNARY_OP_NUM_RUNTIME] = { +// Qstrs for special methods are guaranteed to have a small value, so we use byte +// type to represent them. +const byte mp_unary_op_method_name[MP_UNARY_OP_NUM_RUNTIME] = { [MP_UNARY_OP_BOOL] = MP_QSTR___bool__, [MP_UNARY_OP_LEN] = MP_QSTR___len__, [MP_UNARY_OP_HASH] = MP_QSTR___hash__, @@ -406,9 +408,11 @@ STATIC mp_obj_t instance_unary_op(mp_unary_op_t op, mp_obj_t self_in) { } // Binary-op enum values not listed here will have the default value of 0 in the -// table, corresponding to MP_QSTR_, and are therefore unsupported (a lookup will +// table, corresponding to MP_QSTR_NULL, and are therefore unsupported (a lookup will // fail). They can be added at the expense of code size for the qstr. -const uint16_t mp_binary_op_method_name[MP_BINARY_OP_NUM_RUNTIME] = { +// Qstrs for special methods are guaranteed to have a small value, so we use byte +// type to represent them. +const byte mp_binary_op_method_name[MP_BINARY_OP_NUM_RUNTIME] = { [MP_BINARY_OP_LESS] = MP_QSTR___lt__, [MP_BINARY_OP_MORE] = MP_QSTR___gt__, [MP_BINARY_OP_EQUAL] = MP_QSTR___eq__, |
