1. 05 Nov, 2014 3 commits
  2. 04 Nov, 2014 7 commits
  3. 02 Nov, 2014 1 commit
  4. 01 Nov, 2014 1 commit
  5. 30 Oct, 2014 6 commits
  6. 29 Oct, 2014 15 commits
  7. 28 Oct, 2014 5 commits
    • Kevin Modzelewski's avatar
      Enable frame introspection! · 64c06e84
      Kevin Modzelewski authored
      The code was already in but it was turned off due to the
      compile time regressions.  The addition af kill flags seems
      to have fixed it.
      
      We now have the locals() method working and can start to implement
      other similar features.
      64c06e84
    • Kevin Modzelewski's avatar
      Fix some liveness-analysis bugs · 2ae61c64
      Kevin Modzelewski authored
      2ae61c64
    • Kevin Modzelewski's avatar
      Compute intra-BB liveness information · b887bc87
      Kevin Modzelewski authored
      When emitting frame information, we pass all currently-live
      variable names.  We clear dead register names at the end of
      every basic block, but for long basic blocks we can end up
      accumulating many temporary names (one per sub expression).
      This ends up hugely increasing the LLVM compilation times since
      we will pass hundreds of arguments to many different callsites.
      
      Now, we remove dead variable names as soon as they die.  (Note:
      user-visible names are always live since they can always be seen
      by the locals() function.)  This means that we pass many fewer values
      as frame arguments.
      
      A better solution will be to have a real bytecode language which
      encodes such liveness information, instead of mostly-having it and
      then discarding it.
      b887bc87
    • Kevin Modzelewski's avatar
      Make sure that we never reuse AST nodes · 548ad742
      Kevin Modzelewski authored
      We currently specify execution state by the AST node that
      represents it, which means that we have to not reuse AST nodes.
      Previous to this patch, we were doing that, so this patch
      fixes those up.
      
      This patch isn't the cleanest since I think this whole approach
      will go away when we transition to a proper bytecode system.
      548ad742
    • Kevin Modzelewski's avatar
      Whoops -- fix bug · 387e2b80
      Kevin Modzelewski authored
      387e2b80
  8. 27 Oct, 2014 2 commits