[gclist] Deferred reference counting
Henry G. Baker
hbaker@netcom.com
Sat, 9 Mar 1996 07:28:00 -0800 (PST)
Paul Wilson (wilson@cs.utexas.edu) sez:
> (BTW, I think Thomas Wang's term "fake copying" is nice and pithy. I
> use "treadmill" to mean Henry's specific cyclically-linked list technique.
> We don't actually do exactly that, so we call it "fake copying" or
> "non-copying implicit reclamation"---which is a bit of a mouthful.)
It may be too late to fix this terminology, but I'd like to make the
following proposal:
1. 'copying' means that afterwards, there are (at least) _two_
_independent_ live versions of an object -- e.g., 'shallow' copying
and 'deep' copying (which I have argued elsewhere are not well-defined).
2. 'moving' or 'transporting' means that afterwards, there is _only
one_ live version of an object, and there may or may not be a 'forwarding
address' at the old location.
---
I can't tell you the number of people who get confused by the term
'copying' in computer science -- both the novice who learns the
hard way the difference between unix 'cp' and 'mv', as well as the
sophisticated compiler writer who gets tripped up by his own 'copy
propagation' routines.
It doesn't help that we've allowed sloppy usage to thrive.
Therefore, I suggest that 'copying GC' is now 'moving GC', or
'transporting GC'. Please update your documentation (and FAQ's) !!
--
Henry Baker
www/ftp directory:
ftp.netcom.com:/pub/hb/hbaker/home.html