[squeak-dev] AndreasSystemProfiler missing CompiledMethod>>who

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Tue Mar 5 19:47:53 UTC 2013


Recently means a bit more than 3 years ago.
CompiledMethod>>who was in 39Deprecated-ar.12.mcz and removed in :


http://source.squeak.org/trunk/39Deprecated-ar.13.mcz

==================== Summary ====================

Name: 39Deprecated-ar.13
Author: ar
Time: 12 November 2009, 1:16:02 am
UUID: 5505bcd8-c454-6a4d-bbc4-c91be4bc06eb
Ancestors: 39Deprecated-ar.12

Remove support for isolation layers.

=============== Diff against 39Deprecated-ar.12 ===============

Item was removed:
- ----- Method: CompiledMethod>>who (in category '*39Deprecated') -----
- who
- 	"Answer an Array of the class in which the receiver is defined and the
- 	selector to which it corresponds."
- 	
- 	self deprecated: 'use #methodClass and #selector directly'.
- 	self isInstalled ifFalse: [^#(unknown unknown)].
- 	^{self methodClass . self selector}.
- !

snip...

I guess deprecation has occured in 3.9, it would be around 2006
39Deprecated-md.12.mcz from july 2006 already has it.

Nicolas

2013/3/5 Bert Freudenberg <bert at freudenbergs.de>:
> 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.
>
> - Bert -
>
>
>


More information about the Squeak-dev mailing list