[gclist] Garbage collection FAQ.

David Chase chase@centerline.com
Tue, 27 Feb 96 12:12:28 EST


> Should we have a garbage collection FAQ. It could also become part of
> other FAQs on the net. What should the topics be?
> 
> Algorithms.
Basic:
  Reference counting.
  Mark-and-sweep.
  Copying-compacting.

Less basic:
  Conservative collection.
  Deferred reference counting.
  Generational.
  Baker's real time algorithm.
  Appel-Ellis-Li "real time" concurrent.
  Bartlett's conservative-compacting collector.
  Treadmill collector.
  Goldberg's tagless collection

Assorted stuff:
  Blacklisting in a conservative collector.
  Hardware Support (Kelvin Nilsen's and others).
  One-bit reference counts.

> OS Support.
  Zeroing out memory (I take it for granted, it need
    not be the case, especially on PCs).
  User-supplied fault handlers?

Compiler support? (as opposed to "uncooperative environments" below)
  Lack of compiler support.
  Not hiding pointers.
  Nulling out dead pointer variables.
  Identifying pointers.
  Avoiding heap allocation.

Folk myths?
  "Optimal" strategies that fail miserably.

> Thread Support.

> Garbage Collection for distributed objects.

> Garbage Collection in uncoopertive environments.

> Who will volunteer for various segments? 
> Who will run the show? 

I'd be interested in helping.  Obviously, I've got strong opinions, 
but I've also been studying GC in "more conventional" (that is, less 
functional) languages for about ten years, on and off.

speaking for myself,

David Chase