rowledge at interval.com
Thu Oct 15 23:10:01 UTC 1998
On Thu 15 Oct, lex at cc.gatech.edu wrote:
> It doesn't have to. Suppose one does "A become: B". The system could overwrite A wit
> h an "indirection object" which points to B; call it I(B). Whenever the system sends
> a message to the object that used to be A, it will see an I(B) sit
> ting there, and forward the message on to B.
> The efficiency should be about that of using an indirection table for all objects, but
> it would only take effect for objects that have had a "become:" done to them.
There is also the cost of a test everytime you might possibly find an
indirector. I'm sure I've read about some analysis of this sort of cost
somewhere - could it have been in Ungar's PhD thesis? Anybody know? Eliot, you
still have my copy, can you look and see :-)
Don't forget that the check would not only be during message sends, but
anywhere that an oop is 'dereferenced' which is in quite a lot of places.
How do I love thee? My accumulator overflows.
Tim Rowledge: rowledge at interval.com (w) +1 (650) 842-6110 (w)
tim at sumeru.stanford.edu (h) <http://sumeru.stanford.edu/tim>
More information about the Squeak-dev