1. 07 Jan, 2015 3 commits
    • 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
    • Damien George's avatar
      py: Put all global state together in state structures. · b4b10fd3
      Damien George authored
      This patch consolidates all global variables in py/ core into one place,
      in a global structure.  Root pointers are all located together to make
      GC tracing easier and more efficient.
      b4b10fd3
    • Damien George's avatar
      py: Temporary fix for conversion of float to int when fits in small int. · ad2307c9
      Damien George authored
      Addresses issue #1044 (see also #1040).  Could do with a better fix.
      ad2307c9
  2. 06 Jan, 2015 2 commits
  3. 04 Jan, 2015 4 commits
  4. 03 Jan, 2015 2 commits
  5. 02 Jan, 2015 5 commits
  6. 01 Jan, 2015 24 commits