micropython/unix
Damien George 9b196cddab Remove mp_obj_type_t.methods entry and use .locals_dict instead.
Originally, .methods was used for methods in a ROM class, and
locals_dict for methods in a user-created class.  That distinction is
unnecessary, and we can use locals_dict for ROM classes now that we have
ROMable maps.

This removes an entry in the bloated mp_obj_type_t struct, saving a word
for each ROM object and each RAM object.  ROM objects that have a
methods table (now a locals_dict) need an extra word in total (removed
the methods pointer (1 word), no longer need the sentinel (2 words), but
now need an mp_obj_dict_t wrapper (4 words)).  But RAM objects save a
word because they never used the methods entry.

Overall the ROM usage is down by a few hundred bytes, and RAM usage is
down 1 word per user-defined type/class.

There is less code (no need to check 2 tables), and now consistent with
the way ROM modules have their tables initialised.

Efficiency is very close to equivaluent.
2014-03-26 21:47:19 +00:00
..
.gitignore Revamp qstrs: they now include length and hash. 2014-01-21 21:40:13 +00:00
Makefile MICROPY_USE_READLINE: Selects link lib, so should be defined in mpconfigport.mk 2014-02-28 11:09:29 +02:00
ffi.c Remove mp_obj_type_t.methods entry and use .locals_dict instead. 2014-03-26 21:47:19 +00:00
file.c Remove mp_obj_type_t.methods entry and use .locals_dict instead. 2014-03-26 21:47:19 +00:00
gccollect.c unix: Clean up includes. 2014-03-16 12:14:15 -07:00
main.c Remove mp_obj_type_t.methods entry and use .locals_dict instead. 2014-03-26 21:47:19 +00:00
mpconfigport.h Implement ROMable modules. Add math module. 2014-03-08 15:24:39 +00:00
mpconfigport.mk MICROPY_USE_READLINE: Selects link lib, so should be defined in mpconfigport.mk 2014-02-28 11:09:29 +02:00
qstrdefsport.h Change mp_method_t.name from const char * to qstr. 2014-03-26 20:15:40 +00:00
socket.c Remove mp_obj_type_t.methods entry and use .locals_dict instead. 2014-03-26 21:47:19 +00:00
time.c unix: Clean up includes. 2014-03-16 12:14:15 -07:00