cmuller@kc.rr.com wrote:
A possible bug w/ the BlockClosures. When attempting to select a frame in the intro-debugger CompiledMethod2>>sourceRange attempts to send #subsectionRange to the variable "trailer", which is apparently supposed to be a String but in this case it is an Interval (41 to: 131).
I think it is attempting to select text in the text pane of the debugger. In Debugger>>#pcRange, a couple of frames back, it has the following code:
self selectedContext isBlockContext ifTrue: [ methodNode _ methodNode blockNodeFor: self selectedContext method].
I *did* select a block-closure stack frame (e.g., it begins with "[...] from MyClass>>myMethod...").
Is this a bug?
Yes, but if you recompile your home method I think it will fix it. The block's method trailer is supposed to point to it source via a RemoteStringSection but for some reason it isn't getting set all the way. Before it turns into a RemoteStringSection it holds its source range, which is what your seeing. I will fix this soon.
I have been working on speeding up the block closure version even more (without adding other enhancements like Scott's method cache enhancements). I will post the new version soon with some fixes.
Cheers, Anthony
PS. Thank you for the Squeaker of the year nomination
squeak-dev@lists.squeakfoundation.org