summaryrefslogtreecommitdiffstatshomepage
path: root/py/objnamedtuple.c
diff options
context:
space:
mode:
authorJim Mussared <jim.mussared@gmail.com>2022-09-13 23:56:52 +1000
committerDamien George <damien@micropython.org>2022-09-19 19:06:13 +1000
commit165388e4eb5db1207f4d839abe77d417d4c3f7c3 (patch)
tree45f6ef5aaca5b8d51fde3a48d0287a02264cc2eb /py/objnamedtuple.c
parentcb0ffdd2bf25dcac3c230bdc1168d492aabaf573 (diff)
downloadmicropython-165388e4eb5db1207f4d839abe77d417d4c3f7c3.tar.gz
micropython-165388e4eb5db1207f4d839abe77d417d4c3f7c3.zip
py/objtype: Optimise slot RAM usage for instance types.
In all cases other than where you have a native base with a protocol, it now fits into 4 GC blocks (like it did before the slots representation). Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Diffstat (limited to 'py/objnamedtuple.c')
-rw-r--r--py/objnamedtuple.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/py/objnamedtuple.c b/py/objnamedtuple.c
index cc55aec0b9..5666521617 100644
--- a/py/objnamedtuple.c
+++ b/py/objnamedtuple.c
@@ -143,8 +143,7 @@ STATIC mp_obj_t namedtuple_make_new(const mp_obj_type_t *type_in, size_t n_args,
}
mp_obj_namedtuple_type_t *mp_obj_new_namedtuple_base(size_t n_fields, mp_obj_t *fields) {
- mp_obj_namedtuple_type_t *o = m_new_obj_var(mp_obj_namedtuple_type_t, qstr, n_fields);
- memset(&o->base, 0, sizeof(o->base));
+ mp_obj_namedtuple_type_t *o = m_new_obj_var0(mp_obj_namedtuple_type_t, qstr, n_fields);
o->n_fields = n_fields;
for (size_t i = 0; i < n_fields; i++) {
o->fields[i] = mp_obj_str_get_qstr(fields[i]);