1. 21 Sep, 2016 1 commit
  2. 20 Sep, 2016 3 commits
  3. 19 Sep, 2016 5 commits
    • Damien George's avatar
      py/qstr: Remove a comment. · e60835ba
      Damien George authored
      qstrs are always null terminated so qstr_str will stay as part of the API.
      e60835ba
    • Damien George's avatar
    • Damien George's avatar
      py/vstr: Remove vstr.had_error flag and inline basic vstr functions. · 5da0d29d
      Damien George authored
      The vstr.had_error flag was a relic from the very early days which assumed
      that the malloc functions (eg m_new, m_renew) returned NULL if they failed
      to allocate.  But that's no longer the case: these functions will raise an
      exception if they fail.
      
      Since it was impossible for had_error to be set, this patch introduces no
      change in behaviour.
      
      An alternative option would be to change the malloc calls to the _maybe
      variants, which return NULL instead of raising, but then a lot of code
      will need to explicitly check if the vstr had an error and raise if it
      did.
      
      The code-size savings for this patch are, in bytes: bare-arm:188,
      minimal:456, unix(NDEBUG,x86-64):368, stmhal:228, esp8266:360.
      5da0d29d
    • Damien George's avatar
      py: Combine 3 comprehension opcodes (list/dict/set) into 1. · adaf0d86
      Damien George authored
      With the previous patch combining 3 emit functions into 1, it now makes
      sense to also combine the corresponding VM opcodes, which is what this
      patch does.  This eliminates 2 opcodes which simplifies the VM and reduces
      code size, in bytes: bare-arm:44, minimal:64, unix(NDEBUG,x86-64):272,
      stmhal:92, esp8266:200.  Profiling (with a simple script that creates many
      list/dict/set comprehensions) shows no measurable change in performance.
      adaf0d86
    • Damien George's avatar
      py: Combine 3 comprehension emit functions (list/dict/set) into 1. · a5624bf3
      Damien George authored
      The 3 kinds of comprehensions are similar enough that merging their emit
      functions reduces code size.  Decreases in code size in bytes are:
      bare-arm:24, minimal:96, unix(NDEBUG,x86-64):328, stmhal:80, esp8266:76.
      a5624bf3
  4. 17 Sep, 2016 1 commit
  5. 16 Sep, 2016 1 commit
  6. 09 Sep, 2016 2 commits
  7. 05 Sep, 2016 1 commit
    • Delio Brignoli's avatar
      py: Add MICROPY_USE_INTERNAL_PRINTF option, defaults to enabled. · e2ac8bb3
      Delio Brignoli authored
      This new config option allows to control whether MicroPython uses its own
      internal printf or not (if not, an external one should be linked in).
      Accompanying this new option is the inclusion of lib/utils/printf.c in the
      core list of source files, so that ports no longer need to include it
      themselves.
      e2ac8bb3
  8. 04 Sep, 2016 1 commit
  9. 02 Sep, 2016 2 commits
  10. 01 Sep, 2016 2 commits
  11. 29 Aug, 2016 1 commit
  12. 27 Aug, 2016 2 commits
  13. 26 Aug, 2016 4 commits
  14. 24 Aug, 2016 1 commit
  15. 23 Aug, 2016 1 commit
    • Krzysztof Blazewicz's avatar
      py/stream.c: use mp_obj_get_type in mp_get_stream_raise · 65620764
      Krzysztof Blazewicz authored
      In current state `mp_get_stream_raise` assumes that `self_in` is an object
      and always performs a pointer derefence which may cause a segfault.
      
      This function shall throw an exception whenever `self_in` does not implement
      a stream protocol, that includes qstr's and numbers.
      
      fixes #2331
      65620764
  16. 15 Aug, 2016 2 commits
  17. 14 Aug, 2016 3 commits
  18. 12 Aug, 2016 4 commits
  19. 07 Aug, 2016 3 commits