1. 10 May, 2014 1 commit
  2. 09 May, 2014 1 commit
  3. 08 May, 2014 6 commits
  4. 07 May, 2014 1 commit
  5. 06 May, 2014 5 commits
  6. 05 May, 2014 4 commits
  7. 04 May, 2014 3 commits
  8. 03 May, 2014 3 commits
  9. 02 May, 2014 1 commit
    • Simon Marlow's avatar
      Per-thread allocation counters and limits · b0534f78
      Simon Marlow authored
      This tracks the amount of memory allocation by each thread in a
      counter stored in the TSO.  Optionally, when the counter drops below
      zero (it counts down), the thread can be sent an asynchronous
      exception: AllocationLimitExceeded.  When this happens, given a small
      additional limit so that it can handle the exception.  See
      documentation in GHC.Conc for more details.
      
      Allocation limits are similar to timeouts, but
      
        - timeouts use real time, not CPU time.  Allocation limits do not
          count anything while the thread is blocked or in foreign code.
      
        - timeouts don't re-trigger if the thread catches the exception,
          allocation limits do.
      
        - timeouts can catch non-allocating loops, if you use
          -fno-omit-yields.  This doesn't work for allocation limits.
      
      I couldn't measure any impact on benchmarks with these changes, even
      for nofib/smp.
      b0534f78
  10. 30 Apr, 2014 1 commit
  11. 29 Apr, 2014 12 commits
  12. 28 Apr, 2014 2 commits
    • eir@cis.upenn.edu's avatar
      Improve implementation of unSubCo_maybe. · a3896ab5
      eir@cis.upenn.edu authored
      This is the result of an email conversation (off list) with
      Conal Elliott, who needed a stronger unSubCo_maybe. This
      commit adds cases to upgrade the role of a coercion when
      recursion is necessary to do say (for example, for a use of
      TransCo). As a side effect, more coercion optimizations are
      now possible.
      
      This was not done previously because unSubCo_maybe was used
      only during coercion optimization, and the recursive cases
      looked to be unlikely. However, adding them can cause no harm.
      
      unSubCo_maybe is now also exported from Coercion, for use
      cases like Conal's.
      a3896ab5
    • Joachim Breitner's avatar