Rehash entire image?

Stephen Pair spair at advantive.com
Tue Aug 27 01:18:59 UTC 2002


Ah...don't know how I managed to miss that one.

That version is a lot slower than it could be.  MethodDictionaries
#become: themselves when sent #rehash...that method should probably be
changed such that the become is deferred to the end and all method
dictionaries get swapped in a single #elementsExchangeIdentityWith:.

I added a method called rehashEntireImage to SystemDictionary that is
much faster.  I see that #rehash is implemented all the way up in
ProtoObject...is this really necessary?  Symbol class is the only
non-Set that appears to implement #rehash.  It seems like someone was
expecting there to be a reason that all objects might need be sent the
rehash method.  Anyway, I like having #rehashAllSets implemented in the
Set class rather than my version on SystemDictionary.

- Stephen

> -----Original Message-----
> From: squeak-dev-admin at lists.squeakfoundation.org 
> [mailto:squeak-dev-admin at lists.squeakfoundation.org] On 
> Behalf Of Scott A Crosby
> Sent: Monday, August 26, 2002 8:42 PM
> To: Stephen Pair
> Cc: squeak-dev at lists.squeakfoundation.org
> Subject: Re: Rehash entire image?
> 
> 
> On Thu, 22 Aug 2002 21:50:07 -0400, "Stephen Pair" 
> <spair at acm.org> writes:
> 
> > Is there a method to rehash the entire image?  I haven't 
> seen one, but 
> > it seems unlikely that there wouldn't be one.
> 
> Rehashallsets or something like that... Look in Set>>
> 
> I suspect you're barking up the tree I did about 6 months 
> ago; fixing the brokenness of how we use hashes. Look at my 
> past work and continue it.  I also fixed ALL collections at once.
> 
> Scott
> 
> 




More information about the Squeak-dev mailing list