Still about methodClass [was: Condensed Sources vs. Squeak Maintainence]

Klaus D. Witzel klaus.witzel at cobss.com
Tue Jul 25 09:13:51 UTC 2006


On Tue, 25 Jul 2006 08:53:49 +0200, Andreas Raab wrote:

> Klaus D. Witzel wrote:
>> So can CompiledMethod (delegate) when asked the queries you mentioned.  
>> It doesn't need to store anything else than Blue Book's methodClass for  
>> obtaining these answers (by delegation).
>
> Not quite true. It is easy to see that in a situation like here:
>
>    Object compile:'foo [42]'.
>    fooBlock := Object new foo.
>    Object compile:'foo ^21'.
>
> you can't (without major modifications of classes) determine the  
> properties of "fooBlock home" (say, for source retrieval).

This one (and recompiles while in debugger, fileIn's, another browser,  
parallel to a forked process, etc) can easily be addressed by the new  
ObsoleteCompiledMethods dictionary which I mentioned earlier. No major  
change (no change at all :) to classes necessary, just a proper action  
during aMethodDictionary xyzAt:ifAbsent:.

I could give more [boring] details if that's wanted.

> This is a relevant pattern as I've found in the past when dealing with  
> changes to compiled methods - while not exactly common it is also not  
> rare enough that it can be easily ignored.

Yes, neglection of these would have to be categorized under  
'major-failure'.

/Klaus

> Cheers,
>    - Andreas
>
>
>
>





More information about the Squeak-dev mailing list