[e-lang] "Conservative" GC (was: Side Channels)
Jonathan S. Shapiro
shap at eros-os.org
Sun May 29 11:07:38 EDT 2005
On Sun, 2005-05-29 at 01:09 +0100, David Hopwood wrote:
> Mark Miller wrote:
> > Conservative garbage collectors collect a variable amount of storage
> > depending (among other things) on which words on the stack, if they were
> > to be interpreted as pointers, would be pointing at existing objects.
> Grr. Such garbage collectors should not be called conservative; they should
> be called incorrect. How can a system be correct if at any time memory
> allocation may fail...
This is utterly unfair. It was never the purpose of conservative GC to
be correct in the sense that you mean. Conservative GC was an experiment
that (a) explored the limits of GC in connection with hostile
programming languages, and (b) did surprisingly well at it.
Our experience with conservative GC in OpenCM was thoroughly miserable,
largely because of the issues you raise.
But it simply isn't fair to characterize this as "incorrect". The
conservative GC is doing the best that can be done given its
environmental constraints, and it makes no claim to do anything more
More information about the e-lang