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. TIA, Dave MNU-CompiledMethod-who.png (40K) Download Attachment |
On 5 March 2013 00:46, David T. Lewis <[hidden email]> 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. 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 |
On 2013-03-05, at 12:06, Frank Shearar <[hidden email]> wrote:
> On 5 March 2013 00:46, David T. Lewis <[hidden email]> 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 - |
On 5 March 2013 11:12, Bert Freudenberg <[hidden email]> wrote:
> On 2013-03-05, at 12:06, Frank Shearar <[hidden email]> wrote: > >> On 5 March 2013 00:46, David T. Lewis <[hidden email]> 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 - > > > |
In reply to this post by Bert Freudenberg
On Tue, Mar 05, 2013 at 12:12:51PM +0100, Bert Freudenberg wrote:
> On 2013-03-05, at 12:06, Frank Shearar <[hidden email]> wrote: > > > On 5 March 2013 00:46, David T. Lewis <[hidden email]> 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 - Thanks. It's a trivial change to QSystemTally>>printOn: so that's probably the right place for it. Dave |
In reply to this post by Bert Freudenberg
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 <[hidden email]>: > On 2013-03-05, at 12:06, Frank Shearar <[hidden email]> wrote: > >> On 5 March 2013 00:46, David T. Lewis <[hidden email]> 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 - > > > |
In reply to this post by Bert Freudenberg
On Tue, Mar 05, 2013 at 12:12:51PM +0100, Bert Freudenberg wrote:
> On 2013-03-05, at 12:06, Frank Shearar <[hidden email]> wrote: > > > On 5 March 2013 00:46, David T. Lewis <[hidden email]> 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. > http://ss3.gemstone.com/ss/AndreasSystemProfiler? Thanks! Dave QSystemTally-printOn.st (323 bytes) Download Attachment |
Thanks for the fix. I added it.
All the best, Ron Teitelbaum Head Of Engineering 3d Immersive Collaboration Consulting [hidden email] Follow Me On Twitter: @RonTeitelbaum www.3dicc.com > -----Original Message----- > From: [hidden email] [mailto:squeak-dev- > [hidden email]] On Behalf Of David T. Lewis > Sent: Wednesday, March 06, 2013 7:15 AM > To: The general-purpose Squeak developers list > Cc: [hidden email] > Subject: Re: [squeak-dev] AndreasSystemProfiler missing > CompiledMethod>>who > > On Tue, Mar 05, 2013 at 12:12:51PM +0100, Bert Freudenberg wrote: > > On 2013-03-05, at 12:06, Frank Shearar <[hidden email]> wrote: > > > > > On 5 March 2013 00:46, David T. Lewis <[hidden email]> 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 > > >> > > >> QSystemTally>>printOn: aStream > > >> aStream print: class; nextPutAll: '>>'; print: (method ifNotNil:[method > selector storeString]). > > >> aStream nextPutAll: ' -- '; print: tally. > > > > That's the right fix, yes. > > > > Trivial patch attached. Ron or Eliot, can one of you update this on > http://ss3.gemstone.com/ss/AndreasSystemProfiler? > > Thanks! > Dave > |
Free forum by Nabble | Edit this page |