1. 26 Mar, 2014 2 commits
    • Damien George's avatar
      Remove mp_obj_type_t.methods entry and use .locals_dict instead. · 9b196cdd
      Damien George authored
      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.
      9b196cdd
    • Damien George's avatar
      Change mp_method_t.name from const char * to qstr. · c12b2213
      Damien George authored
      Addresses issue #377.
      c12b2213
  2. 24 Mar, 2014 1 commit
  3. 23 Mar, 2014 1 commit
  4. 22 Mar, 2014 3 commits