1. 17 Apr, 2014 4 commits
  2. 13 Apr, 2014 2 commits
  3. 12 Apr, 2014 1 commit
  4. 11 Apr, 2014 3 commits
  5. 10 Apr, 2014 1 commit
  6. 09 Apr, 2014 1 commit
  7. 08 Apr, 2014 5 commits
  8. 05 Apr, 2014 6 commits
  9. 04 Apr, 2014 2 commits
  10. 03 Apr, 2014 2 commits
  11. 30 Mar, 2014 5 commits
  12. 29 Mar, 2014 2 commits
  13. 28 Mar, 2014 1 commit
  14. 27 Mar, 2014 2 commits
    • Damien George's avatar
      py: Thin out predefined exceptions. · c63f9846
      Damien George authored
      Only exceptions that are actually used are left prefedined.  Hierarchy
      is still there, and removed exceptions are just commented out.
    • Damien George's avatar
      py: Put n_state for bytecode in the bytecode prelude. · bee17b00
      Damien George authored
      Rationale: setting up the stack (state for locals and exceptions) is
      really part of the "code", it's the prelude of the function.  For
      example, native code adjusts the stack pointer on entry to the function.
      Native code doesn't need to know n_state for any other reason.  So
      putting the state size in the bytecode prelude is sensible.
      It reduced ROM usage on STM by about 30 bytes :)  And makes it easier to
      pass information about the bytecode between functions.
  15. 26 Mar, 2014 3 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.
    • Damien George's avatar
      Change mp_method_t.name from const char * to qstr. · c12b2213
      Damien George authored
      Addresses issue #377.
    • Damien George's avatar