1. 04 Apr, 2015 1 commit
  2. 30 Mar, 2015 1 commit
  3. 26 Mar, 2015 1 commit
  4. 21 Mar, 2015 1 commit
    • Damien George's avatar
      py: Combine duplicated code that converts members from a lookup. · 55b74d1f
      Damien George authored
      Despite initial guess, this code factoring does not hamper performance.
      In fact it seems to improve speed by a little: running pystone(1.2) on
      pyboard (which gives a very stable result) this patch takes pystones
      from 1729.51 up to 1742.16.  Also, pystones on x64 increase by around
      the same proportion (but it's much noisier).
      
      Taking a look at the generated machine code, stack usage with this patch
      is unchanged, and call is tail-optimised with all arguments in
      registers.  Code size decreases by about 50 bytes on Thumb2 archs.
      55b74d1f
  5. 19 Mar, 2015 1 commit
  6. 17 Mar, 2015 1 commit
  7. 16 Mar, 2015 4 commits
  8. 21 Feb, 2015 1 commit
  9. 15 Feb, 2015 1 commit
  10. 14 Feb, 2015 1 commit
  11. 09 Feb, 2015 2 commits
  12. 08 Feb, 2015 1 commit
  13. 30 Jan, 2015 1 commit
  14. 27 Jan, 2015 1 commit
    • Damien George's avatar
      py: Specify unary/binary op name in TypeError error message. · a5efcd47
      Damien George authored
      Eg, "() + 1" now tells you that __add__ is not supported for tuple and
      int types (before it just said the generic "binary operator").  We reuse
      the table of names for slot lookup because it would be a waste of code
      space to store the pretty name for each operator.
      a5efcd47
  15. 20 Jan, 2015 2 commits
  16. 11 Jan, 2015 1 commit
  17. 08 Jan, 2015 1 commit
  18. 07 Jan, 2015 1 commit
    • Damien George's avatar
      py: Add option to cache map lookup results in bytecode. · 7ee91cf8
      Damien George authored
      This is a simple optimisation inspired by JITing technology: we cache in
      the bytecode (using 1 byte) the offset of the last successful lookup in
      a map. This allows us next time round to check in that location in the
      hash table (mp_map_t) for the desired entry, and if it's there use that
      entry straight away.  Otherwise fallback to a normal map lookup.
      
      Works for LOAD_NAME, LOAD_GLOBAL, LOAD_ATTR and STORE_ATTR opcodes.
      
      On a few tests it gives >90% cache hit and greatly improves speed of
      code.
      
      Disabled by default.  Enabled for unix and stmhal ports.
      7ee91cf8
  19. 01 Jan, 2015 1 commit
  20. 28 Dec, 2014 1 commit
  21. 06 Nov, 2014 1 commit
  22. 05 Nov, 2014 1 commit
  23. 03 Nov, 2014 2 commits
  24. 23 Oct, 2014 1 commit
  25. 30 Aug, 2014 1 commit
  26. 29 Aug, 2014 1 commit
  27. 26 Aug, 2014 1 commit
  28. 24 Aug, 2014 1 commit
  29. 05 Jul, 2014 1 commit
  30. 03 Jul, 2014 1 commit
  31. 10 Jun, 2014 1 commit
  32. 08 Jun, 2014 2 commits
  33. 07 Jun, 2014 1 commit