[gclist] Time-stamping objects...

Charles Fiterman cef@geode.geodesic.com
Mon, 15 Apr 1996 09:41:29 -0500


> 
> Hi there!
> 
>    As  you  might  remember  I'm  doing  research on programming languages,
> especially on Oberon-2.
> 
>    I  recently  found  a paper about side-effect free functions.  It argued
> that you could dynamically ensure side-effect-freeness by time-stamping all
> dynamically  created  objects,  thereby  getting  more  "functional" in the
> framework of an imperative language.
> 
>    Now,  as I find this approach quite good for the "function thing", I was
> wondering  if there are efficient GC algorithms that need such a time-stamp
> too.  I could thus achieve two goals with one mechanism.
> 
>    Oberon-2  normally uses mark-and-sweep GCs.  I understand that there are
> "generation-based"  GC  algorithms?   Are  they  "better"  than  a "simple"
> mark-and-sweep?

Generational collectors eliminate fragmentation and if you have enough
storage are more efficient. In fact as the amount of storage increases
copying collectors approach zero overhead. If you never reach the end
of the space copying collectors have zero overhead. With this in mind
it makes sense to build execution frames on the heap.

As a disadvantage they need more space to be useful and its hard to
interface with things like C that expect stuff to stay put.