Sun's HotSpot

Tim Rowledge 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.

tim
-- 
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 mailing list