Skip to content

Commit 4df013c

Browse files
committed
py/objtype: mp_obj_new_super doesn't need to be public, so inline it.
Saves code size (20 bytes on bare-arm) and makes it a tiny bit more efficient.
1 parent 9e8f316 commit 4df013c

2 files changed

Lines changed: 3 additions & 8 deletions

File tree

py/obj.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,6 @@ mp_obj_t mp_obj_new_list(size_t n, mp_obj_t *items);
661661
mp_obj_t mp_obj_new_dict(size_t n_args);
662662
mp_obj_t mp_obj_new_set(size_t n_args, mp_obj_t *items);
663663
mp_obj_t mp_obj_new_slice(mp_obj_t start, mp_obj_t stop, mp_obj_t step);
664-
mp_obj_t mp_obj_new_super(mp_obj_t type, mp_obj_t obj);
665664
mp_obj_t mp_obj_new_bound_meth(mp_obj_t meth, mp_obj_t self);
666665
mp_obj_t mp_obj_new_getitem_iter(mp_obj_t *args, mp_obj_iter_buf_t *iter_buf);
667666
mp_obj_t mp_obj_new_module(qstr module_name);

py/objtype.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1013,7 +1013,9 @@ STATIC mp_obj_t super_make_new(const mp_obj_type_t *type_in, size_t n_args, size
10131013
// 0 arguments are turned into 2 in the compiler
10141014
// 1 argument is not yet implemented
10151015
mp_arg_check_num(n_args, n_kw, 2, 2, false);
1016-
return mp_obj_new_super(args[0], args[1]);
1016+
mp_obj_super_t *o = m_new_obj(mp_obj_super_t);
1017+
*o = (mp_obj_super_t){{type_in}, args[0], args[1]};
1018+
return MP_OBJ_FROM_PTR(o);
10171019
}
10181020

10191021
STATIC void super_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) {
@@ -1068,12 +1070,6 @@ const mp_obj_type_t mp_type_super = {
10681070
.attr = super_attr,
10691071
};
10701072

1071-
mp_obj_t mp_obj_new_super(mp_obj_t type, mp_obj_t obj) {
1072-
mp_obj_super_t *o = m_new_obj(mp_obj_super_t);
1073-
*o = (mp_obj_super_t){{&mp_type_super}, type, obj};
1074-
return MP_OBJ_FROM_PTR(o);
1075-
}
1076-
10771073
/******************************************************************************/
10781074
// subclassing and built-ins specific to types
10791075

0 commit comments

Comments
 (0)