1. 15 Apr, 2014 1 commit
  2. 14 Apr, 2014 2 commits
  3. 13 Apr, 2014 1 commit
    • Damien George's avatar
      py: Remove unique_codes from emitglue.c. Replace with pointers. · df8127a1
      Damien George authored
      Attempt to address issue #386.  unique_code_id's have been removed and
      replaced with a pointer to the "raw code" information.  This pointer is
      stored in the actual byte code (aligned, so the GC can trace it), so
      that raw code (ie byte code, native code and inline assembler) is kept
      only for as long as it is needed.  In memory it's now like a tree: the
      outer module's byte code points directly to its children's raw code.  So
      when the outer code gets freed, if there are no remaining functions that
      need the raw code, then the children's code gets freed as well.
      
      This is pretty much like CPython does it, except that CPython stores
      indexes in the byte code rather than machine pointers.  These indices
      index the per-function constant table in order to find the relevant
      code.
      df8127a1
  4. 12 Apr, 2014 1 commit
  5. 11 Apr, 2014 1 commit
    • Damien George's avatar
      py: Change compile order for default positional and keyword args. · 69b89d21
      Damien George authored
      This simplifies the compiler a little, since now it can do 1 pass over
      a function declaration, to determine default arguments.  I would have
      done this originally, but CPython 3.3 somehow had the default keyword
      args compiled before the default position args (even though they appear
      in the other order in the text of the script), and I thought it was
      important to have the same order of execution when evaluating default
      arguments.  CPython 3.4 has changed the order to the more obvious one,
      so we can also change.
      69b89d21
  6. 10 Apr, 2014 2 commits
  7. 09 Apr, 2014 2 commits
  8. 08 Apr, 2014 4 commits
  9. 06 Apr, 2014 1 commit
  10. 05 Apr, 2014 3 commits
  11. 04 Apr, 2014 1 commit
  12. 31 Mar, 2014 4 commits
  13. 30 Mar, 2014 7 commits
  14. 29 Mar, 2014 10 commits