[gclist] Boehm collector vs lazy allocation with demand
Fergus Henderson
fjh@cs.mu.oz.au
Wed, 9 Apr 1997 13:20:57 +1000 (EST)
David Chase, you wrote:
>
> If you're not (over-)allocating through the garbage collector,
> then it ought to suffice to modify its scan of the root set.
> Also, are you certain it is really doing this? In the case of
> stacks, I thought that the B-W collector was really quite careful
> to only scan the currently active portion of the stack (because
> scanning dead stack frames is a likely source of "spurious" pointers).
> Or, are these stacks that you obtain via mmap from /dev/zero, or
> some similar device?
The Boehm (et al) collector is careful to only scan the currently
active portion of the C stack, but the Mercury runtime engine
uses two other stacks. These are currently allocated through the
garbage collector, using GC_malloc_uncollectable(), though it would be
easy to allocate them using malloc() instead, or using mmap() from /dev/zero.
--
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.