[gclist] Deferred reference counting
Paul R. Wilson
wilson@cs.utexas.edu
Fri, 8 Mar 1996 19:11:09 -0600
>
>Sigh. What I *meant* when I said "deferred reference counting"
>was the "incremental recursive freeing". Elision of cancelling
>count adjustments is something I'd regard as a compiler optimization.
I think we're just worrying about terminology here, which is boring
but worthwhile. As I understand it, Hans' interpretation of the
phrase "deferred reference counting" is the standard one, but I
couldn't absolutely swear by it.
Anybody seen any published use of the term with the other meaning?
As for it being a compiler optimization, that's true, but it's an
important one---it's what makes reference counting practical for
language implementations.
Also, a slight generalization of it is exactly what distributed GC's
often do, entirely in the runtime systems---they don't bother to
continually update the reference counts, and instead "batch" them.
Where Deutsch-Schiffman RC batches across a bunch of stack pushes and
pops (by only updating reference counts at occasional stack scans),
distributed RC systems often only update distributed reference counts
at the ends of local tracing collections.