1. 15 Oct, 2014 1 commit
    • Kevin Modzelewski's avatar
      Separate the CompilerType objects from the class definitions · 204b1da6
      Kevin Modzelewski authored
      Most code wants to have access to the basic types (INT, STR, etc)
      but doesn't need to know anything about what methods they support.
      
      Move the commonly-accessed parts of compvars.h into the always-included
      core/types.h, and remove almost all of the includes of compvars.h
      204b1da6
  2. 10 Oct, 2014 1 commit
  3. 09 Oct, 2014 3 commits
    • Kevin Modzelewski's avatar
      Enable patching of invokes · e5db59e7
      Kevin Modzelewski authored
      With the LLVM patch, it seems like this works.
      e5db59e7
    • Kevin Modzelewski's avatar
      Merge pull request #183 from undingen/isAlloc · 18d68780
      Kevin Modzelewski authored
      Fix isAllocCall check
      18d68780
    • Kevin Modzelewski's avatar
      For now, disallow allocation of callee-save registers in inline caches · 84bda3fd
      Kevin Modzelewski authored
      If we allocate a callee-save register that the parent function had
      not also allocated, change its value, and then call a function
      that then unwinds, the unwinder would pass the new (incorrect)
      value of the callee save register to the next frame.
      
      We either need to
      - make sure callee-save registers are restored before any potentially-throwing
        callsite, or
      - make the unwinder able to restore these registers for us, potentially
        by writing our own exception unwinder.
      
      For now, the easiest thing to do is to disallow allocation of those registers.
      (I'm not even sure how much we allocate them at all at the moment.)
      84bda3fd
  4. 08 Oct, 2014 4 commits
  5. 04 Oct, 2014 1 commit
  6. 02 Oct, 2014 2 commits
  7. 01 Oct, 2014 2 commits
  8. 30 Sep, 2014 2 commits
  9. 29 Sep, 2014 1 commit
  10. 25 Sep, 2014 1 commit
  11. 24 Sep, 2014 1 commit
    • Kevin Modzelewski's avatar
      Refactor some unwinding code · a239c80b
      Kevin Modzelewski authored
      Make some things owned by the cf rather than using global registries,
      so that 1) we can eventually free the right things when we start freeing
      cf's, and 2) we can have a single ip->cf mapping instead of lots of
      ip->other things mappings.
      
      Also added some helper classes for making stack crawling easier.
      a239c80b
  12. 23 Sep, 2014 2 commits
  13. 22 Sep, 2014 1 commit
  14. 20 Sep, 2014 1 commit
  15. 17 Sep, 2014 5 commits
  16. 16 Sep, 2014 1 commit
  17. 12 Sep, 2014 3 commits
  18. 11 Sep, 2014 4 commits
  19. 09 Sep, 2014 2 commits
    • Kevin Modzelewski's avatar
      LOC tool · 7efc265f
      Kevin Modzelewski authored
      7efc265f
    • Kevin Modzelewski's avatar
      Allow closures into/through genexps · c120e21f
      Kevin Modzelewski authored
      The issue was that if we transformed the AST nodes corresponding to scopes,
      we wouldn't be able to match the initial analysis with the subsequent queries
      to the transformed AST nodes.
      
      We had run into that before, but worked around it by just modifying the AST
      nodes in place.  For generator expressions that wasn't a possibility,
      so now we explicitly registers when we replace scope-related AST nodes.
      c120e21f
  20. 08 Sep, 2014 2 commits