[gclist] Guardians to finalize objects

Hans Boehm boehm@hoh.mti.sgi.com
Fri, 4 Apr 1997 10:58:54 -0800


Isn't this basically the Java mechanism cleanly embedded into Scheme?

It effectively handles finalization in a single-threaded environment by
queueing objects need for finalization, and then running finalizers at the
programs explicit request.  (The same technique, minus the nice Scheme
embedding, was described in the 1985 PARC tech report by Paul Rovner.)

As far as I can tell, it pushes the dependency issues back into the hands of
the programmer.  As I've argued before, this doesn't strike me as a good idea.
 Ordering requires flobal dependency information, which the garbage collector
has, but the programmer doesn't.

Hans


On Apr 3,  2:42pm, Giuliano Carlini wrote:
> Subject: [gclist] Guardians to finalize objects
>
> [ plain text
>   Encoded with "quoted-printable" ] :
Guardians in a Generation-Based Garbage Collector.
> R. Kent Dybvig, Carl Bruggeman, and David Eby.
> ACM PLDI '93
> pg 207 to 216.
>
> You can get it from http://www.cs.indiana.edu/proglang/papers/guardians.ps
>
> If your interested in finalization issues you'll want to read
> this paper.
>
> It handles finalization order, reanimation, and mutator semantics
> very cleanly. It's cheap to implement. And, it doesn't succumb to
> the billion dollars in a billion years problem.
>
> It may require minor tweaks to the GC. Or, maybe not. I think it
> can be done using finalizers that run unordered but that
> reanimate.
>
> g
>-- End of excerpt from Giuliano Carlini



-- 
Hans-Juergen Boehm
boehm@mti.sgi.com