[squeak-dev] AndreasSystemProfiler missing CompiledMethod>>who

Frank Shearar frank.shearar at gmail.com
Tue Mar 5 11:24:35 UTC 2013


On 5 March 2013 11:12, Bert Freudenberg <bert at freudenbergs.de> wrote:
> On 2013-03-05, at 12:06, Frank Shearar <frank.shearar at gmail.com> wrote:
>
>> On 5 March 2013 00:46, David T. Lewis <lewis at mail.msen.com> wrote:
>>> This is just a convenience method that probably belongs in the AndreasSystemProfiler
>>> package (or in Squeak trunk?).
>>>
>>> Or if I am guessing right it might be just a matter of changing the printOn:
>>>
>>> QSystemTally>>printOn: aStream
>>>        aStream print: class; nextPutAll: '>>'; print: (method ifNotNil:[method selector storeString]).
>>>        aStream nextPutAll: ' -- '; print: tally.
>
> That's the right fix, yes.
>
>> I'd imagine it does something like CompiledMethod >> #timeStamp, that
>> is, displays a bit of the CM's metadata. That seems like a good
>> candidate for trunk.
>>
>> frank
>
> #who was removed recently when we introduced method properties. It used to answer {class. selector} of the method. The reason was that it was a very expensive operation, it used to scan all classes to find the new method. So if you needed both the class and selector, it would have to do the scan twice.
>
> Now it would be simple enough to re-implement for compatibility, but then it is very easy to change the senders, too. And since it makes the senders a lot more readable we have not re-implemented #who.

OK, so AndreasSystemProfiler was just a bit out of date. That's fine;
I just don't want to see loads of packages having to extend
CompiledMethod to get some metadata.

frank

> - Bert -
>
>
>


More information about the Squeak-dev mailing list