cvs commit: fptools/ghc/includes Block.h ClosureTypes.h Stable.h StgStorage.h StgTypes.h fptools/ghc/rts GCCompact.c GCCompact.h BlockAlloc.c ClosureFlags.c GC.c PrimOps.hc Printer.c ProfHeap.c RtsFlags.c RtsFlags.h Sanity.c Sanity.h Schedule.c Stable.c ...

Simon Marlow simonmar@glass.cse.ogi.edu
Mon, 23 Jul 2001 10:23:20 -0700


simonmar    2001/07/23 10:23:20 PDT

  Modified files:
    ghc/includes         Block.h ClosureTypes.h Stable.h 
                         StgStorage.h StgTypes.h 
    ghc/rts              BlockAlloc.c ClosureFlags.c GC.c 
                         PrimOps.hc Printer.c ProfHeap.c 
                         RtsFlags.c RtsFlags.h Sanity.c Sanity.h 
                         Schedule.c Stable.c StablePriv.h Stats.c 
                         Stats.h StgMiscClosures.hc Storage.c 
                         Storage.h StoragePriv.h 
    ghc/rts/parallel     GranSim.c 
  Added files:
    ghc/rts              GCCompact.c GCCompact.h 
  Removed files:
    ghc/rts              GC.h 
  Log:
  Add a compacting garbage collector.
  
  It isn't enabled by default, as there are still a couple of problems:
  there's a fallback case I haven't implemented yet which means it will
  occasionally bomb out, and speed-wise it's quite a bit slower than the
  copying collector (about 1.8x slower).
  
  Until I can make it go faster, it'll only be useful when you're
  actually running low on real memory.
  
  '+RTS -c' to enable it.
  
  Oh, and I cleaned up a few things in the RTS while I was there, and
  fixed one or two possibly real bugs in the existing GC.
  
  Revision  Changes    Path
  1.9       +9 -3      fptools/ghc/includes/Block.h
  1.16      +14 -13    fptools/ghc/includes/ClosureTypes.h
  1.8       +2 -1      fptools/ghc/includes/Stable.h
  1.9       +12 -4     fptools/ghc/includes/StgStorage.h
  1.16      +3 -1      fptools/ghc/includes/StgTypes.h
  1.9       +3 -1      fptools/ghc/rts/BlockAlloc.c
  1.10      +6 -5      fptools/ghc/rts/ClosureFlags.c
  1.104     +971 -732  fptools/ghc/rts/GC.c
  1.80      +17 -2     fptools/ghc/rts/PrimOps.hc
  1.41      +2 -2      fptools/ghc/rts/Printer.c
  1.23      +2 -2      fptools/ghc/rts/ProfHeap.c
  1.41      +7 -1      fptools/ghc/rts/RtsFlags.c
  1.34      +3 -4      fptools/ghc/rts/RtsFlags.h
  1.28      +140 -159  fptools/ghc/rts/Sanity.c
  1.9       +18 -10    fptools/ghc/rts/Sanity.h
  1.97      +29 -31    fptools/ghc/rts/Schedule.c
  1.15      +126 -98   fptools/ghc/rts/Stable.c
  1.3       +9 -6      fptools/ghc/rts/StablePriv.h
  1.31      +4 -4      fptools/ghc/rts/Stats.c
  1.11      +2 -2      fptools/ghc/rts/Stats.h
  1.67      +22 -19    fptools/ghc/rts/StgMiscClosures.hc
  1.41      +61 -46    fptools/ghc/rts/Storage.c
  1.34      +4 -3      fptools/ghc/rts/Storage.h
  1.15      +15 -5     fptools/ghc/rts/StoragePriv.h
  1.5       +1 -2      fptools/ghc/rts/parallel/GranSim.c