[project @ 1999-01-13 17:25:37 by simonm]
authorsimonm <unknown>
Wed, 13 Jan 1999 17:25:59 +0000 (17:25 +0000)
committersimonm <unknown>
Wed, 13 Jan 1999 17:25:59 +0000 (17:25 +0000)
commit4391e44f910ce579f269986faef9e5db8907a6c0
treea20d5c8313e7000a8bb0afd499db73b3f30dcbe5
parentdc49719c45797614110483c9bb74c1d271578226
[project @ 1999-01-13 17:25:37 by simonm]
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.
33 files changed:
ghc/docs/users_guide/runtime_control.vsgml
ghc/driver/ghc.lprl
ghc/includes/Block.h
ghc/includes/ClosureMacros.h
ghc/includes/ClosureTypes.h
ghc/includes/Closures.h
ghc/includes/InfoTables.h
ghc/includes/PrimOps.h
ghc/includes/Rts.h
ghc/includes/StgMiscClosures.h
ghc/includes/TSO.h
ghc/includes/Updates.h
ghc/rts/BlockAlloc.c
ghc/rts/BlockAlloc.h
ghc/rts/DebugProf.c
ghc/rts/GC.c
ghc/rts/MBlock.c
ghc/rts/MBlock.h
ghc/rts/Makefile
ghc/rts/PrimOps.hc
ghc/rts/RtsFlags.c
ghc/rts/RtsFlags.h
ghc/rts/Sanity.c
ghc/rts/Sanity.h
ghc/rts/Schedule.c
ghc/rts/Stats.c
ghc/rts/Stats.h
ghc/rts/StgMiscClosures.hc
ghc/rts/Storage.c
ghc/rts/Storage.h
ghc/rts/StoragePriv.h
ghc/rts/Updates.hc
ghc/rts/Weak.c