1. 11 Oct, 2007 1 commit
    • Simon Marlow's avatar
      Add a proper write barrier for MVars · 1ed01a87
      Simon Marlow authored
      Previously MVars were always on the mutable list of the old
      generation, which meant every MVar was visited during every minor GC.
      With lots of MVars hanging around, this gets expensive.  We addressed
      this problem for MUT_VARs (aka IORefs) a while ago, the solution is to
      use a traditional GC write-barrier when the object is modified.  This
      patch does the same thing for MVars.
      
      TVars are still done the old way, they could probably benefit from the
      same treatment too.
      1ed01a87
  2. 10 Oct, 2007 1 commit
  3. 11 Oct, 2007 1 commit
  4. 10 Oct, 2007 10 commits
  5. 09 Oct, 2007 2 commits
    • Simon Marlow's avatar
      tiny refactoring · efe8ba48
      Simon Marlow authored
      efe8ba48
    • Simon Marlow's avatar
      small reworking of the loop-breaker-choosing algorithm · 1cc3d6d1
      Simon Marlow authored
      Previously inline candidates were given higher preference as
      non-loop-breakers than constructor applications, but the reason for
      this was that making a wrapper into a loop-breaker is to be avoided at
      all costs.  This patch refines the algorithm slightly so that wrappers
      are explicitly avoided by giving them a much higher score, and other
      inline candidates are given lower scores than constructor
      applications.
      
      This makes almost zero difference to a complete nofib run, so it
      amounts to just a tidyup.
      1cc3d6d1
  6. 10 Oct, 2007 4 commits
  7. 29 Sep, 2007 2 commits
  8. 09 Oct, 2007 6 commits
  9. 03 Oct, 2007 7 commits
  10. 02 Oct, 2007 1 commit
  11. 08 Oct, 2007 1 commit
  12. 05 Oct, 2007 4 commits