1. 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
  2. 08 Oct, 2014 4 commits
  3. 04 Oct, 2014 1 commit
  4. 02 Oct, 2014 2 commits
  5. 01 Oct, 2014 2 commits
  6. 30 Sep, 2014 2 commits
  7. 29 Sep, 2014 1 commit
  8. 25 Sep, 2014 1 commit
  9. 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
  10. 23 Sep, 2014 2 commits
  11. 22 Sep, 2014 1 commit
  12. 20 Sep, 2014 1 commit
  13. 17 Sep, 2014 5 commits
  14. 16 Sep, 2014 1 commit
  15. 12 Sep, 2014 3 commits
  16. 11 Sep, 2014 4 commits
  17. 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
  18. 08 Sep, 2014 4 commits