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