1. 02 Mar, 1999 1 commit
  2. 11 Feb, 1999 1 commit
    • simonm's avatar
      [project @ 1999-02-11 14:22:53 by simonm] · b41f38a4
      simonm authored
      - s/finalise/finalize/g
      - make finalize run the finalizer immediately, and wait for its completion
      - make mkWeak take a (Maybe (IO ())) for the finalizer argument
      - remove mkWeakNoFinalizer
      b41f38a4
  3. 05 Feb, 1999 2 commits
  4. 02 Feb, 1999 1 commit
    • simonm's avatar
      [project @ 1999-02-02 14:21:28 by simonm] · bf739c10
      simonm authored
      - Add ticky counter for total bytes copied during GC.
      - Separate mutable list into two lists, a "mut once" list for
        old generation indirections and MUT_CONS cells, and a "mut many"
        list for mutable arrays, TSOs etc.  Objects on the "mut once" list
        will be eagerly promoted.
      bf739c10
  5. 01 Feb, 1999 1 commit
  6. 27 Jan, 1999 1 commit
    • simonpj's avatar
      [project @ 1999-01-27 14:51:14 by simonpj] · 18976e61
      simonpj authored
      Finally!  This commits the ongoing saga of Simon's hygiene sweep
      
      FUNCTIONALITY
      ~~~~~~~~~~~~~
      a) The 'unused variable' warnings from the renamer work.  
      b) Better error messages here and there, esp type checker
      c) Fixities for Haskell 98 (maybe I'd done that before)
      d) Lazy reporting of name clashes for Haskell 98 (ditto)
      
      HYGIENE
      ~~~~~~~
      a) type OccName has its own module.  OccNames are represented
         by a single FastString, not three as in the last round.  This
         string is held in Z-encoded form; a decoding function decodes
         for printing in user error messages.  There's a nice tight
         encoding for (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
      
      b) type Module is a proper ADT, in module OccName
      
      c) type RdrName is a proper ADT, in its own module
      
      d) type Name has a new, somwhat tidier, representation
      
      e) much grunting in the renamer to get Provenances right.
         This makes error messages look better (no spurious qualifiers)
      18976e61
  7. 26 Jan, 1999 1 commit
    • simonm's avatar
      [project @ 1999-01-26 11:12:41 by simonm] · ed4cd6d4
      simonm authored
      - Add Stable Names
      
      - Stable pointers and stable names are now both provided by the
        "Stable" module in ghc/lib/exts.  Documentation is updated, and Foriegn
        still exports the stable pointer operations for backwards compatibility.
      ed4cd6d4
  8. 21 Jan, 1999 1 commit
  9. 18 Jan, 1999 1 commit
    • simonm's avatar
      [project @ 1999-01-18 15:21:37 by simonm] · c5a9b776
      simonm authored
      - BLACKHOLE_BQ is a mutable object, because new threads get added to
        its blocking_queue field.  Hence add a mut_link field and treat it
        as mutable in the garbage collector.
      
      - Change StgBlackHole to StgBlockingQueue while I'm at it.
      
      - Optimise evacuation of black holes: don't copy the padding
        words, just skip over them.
      
      - Several garbage collection fixes.
      
      - Improve sanity checking: now the older generations are fully checked
        at each GC.
      c5a9b776
  10. 15 Jan, 1999 2 commits
    • simonm's avatar
      [project @ 1999-01-15 17:57:03 by simonm] · 4ec89230
      simonm authored
      - Add new object BLACKHOLE_BQ: now a BLACKHOLE is defined as having an
        empty blocking queue, and the first time a thread blocks on a BLACKHOLE
        it is changed into a BLACKHOLE_BQ.
      
      - Remove UPD_INPLACE1 and replace it with UPD_IND in the two places it
        was used.  UPD_INPLACE1 wouldn't have worked in a generational setting.
      4ec89230
    • sewardj's avatar
      [project @ 1999-01-15 12:47:19 by sewardj] · f77b5a62
      sewardj authored
      Remove 'const' modifier from static closure declarations.  Static
      closures are meant to live in R/W data space.
      f77b5a62
  11. 13 Jan, 1999 1 commit
    • simonm's avatar
      [project @ 1999-01-13 17:25:37 by simonm] · 4391e44f
      simonm authored
      Added a generational garbage collector.
      
      The collector is reliable but fairly untuned as yet.  It works with an
      arbitrary number of generations: use +RTS -G<gens> to change the
      number of generations used (default 2).
      
      Stats: +RTS -Sstderr is quite useful, but to really see what's going
      on compile the RTS with -DDEBUG and use +RTS -D32.
      
      ARR_PTRS removed - it wasn't used anywhere.
      
      Sanity checking improved:
      	- free blocks are now spammed when sanity checking is turned on
      	- a check for leaking blocks is performed after each GC.
      4391e44f
  12. 02 Dec, 1998 1 commit