1. 08 Dec, 2009 6 commits
  2. 07 Dec, 2009 11 commits
  3. 04 Dec, 2009 3 commits
  4. 05 Dec, 2009 3 commits
  5. 03 Dec, 2009 1 commit
  6. 04 Dec, 2009 1 commit
  7. 01 Oct, 2009 1 commit
  8. 30 Sep, 2009 1 commit
  9. 28 Sep, 2009 1 commit
  10. 04 Dec, 2009 2 commits
  11. 03 Dec, 2009 2 commits
    • Simon Marlow's avatar
      export g0 · 5f9075da
      Simon Marlow authored
    • Simon Marlow's avatar
      GC refactoring, remove "steps" · 214b3663
      Simon Marlow authored
      The GC had a two-level structure, G generations each of T steps.
      Steps are for aging within a generation, mostly to avoid premature
      Measurements show that more than 2 steps is almost never worthwhile,
      and 1 step is usually worse than 2.  In theory fractional steps are
      possible, so the ideal number of steps is somewhere between 1 and 3.
      GHC's default has always been 2.
      We can implement 2 steps quite straightforwardly by having each block
      point to the generation to which objects in that block should be
      promoted, so blocks in the nursery point to generation 0, and blocks
      in gen 0 point to gen 1, and so on.
      This commit removes the explicit step structures, merging generations
      with steps, thus simplifying a lot of code.  Performance is
      unaffected.  The tunable number of steps is now gone, although it may
      be replaced in the future by a way to tune the aging in generation 0.
  12. 02 Dec, 2009 1 commit
  13. 04 Dec, 2009 1 commit
    • rl@cse.unsw.edu.au's avatar
      Fix loading of annotations · 99d1354f
      rl@cse.unsw.edu.au authored
      The problem was that we collected all annotations we knew about once when the
      simplifier started and threaded them through the CoreM monad. If new interface
      files were loaded during simplification, their annotations would not be
      visible to the simplifier.
      Now, we rebuild the annotation list at the start of every simplifier pass that
      needs it (which is only SpecConstr at the moment). This ensures that we see
      all annotations that have been loaded so far. This is somewhat similar to how
      RULES are handled.
  14. 03 Dec, 2009 6 commits