[gclist] Boehm collector vs lazy allocation with demand paging

Fergus Henderson fjh@cs.mu.oz.au
Tue, 8 Apr 1997 21:42:50 +1000 (EST)


Hi,

The Mercury implementation uses the Boehm (et al.) collector.

Several memory areas used by the Mercury runtime engine
such as the Mercury stacks are allocated with a fixed size
at startup, with the idea being that with demand paging,
we can allocate much more than we will need, and the OS
will allocate it lazily for us as we actually use it.

Unfortunately this idea doesn't work with the Boehm collector,
because the collector scans all of memory, which I think causes
the memory to allocated (even though the collector is only reading
it, not writing to it), and which certainly slows down garbage
collections.

Any suggestions?

-- 
Fergus Henderson <fjh@cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh@128.250.37.3         |     -- the last words of T. S. Garp.