[BUG][FIX]Exception handling code in VM has spurious receiver
Tim Rowledge
tim at sumeru.stanford.edu
Sat Oct 6 17:22:36 UTC 2001
Following from Scott's message, here is fix for Interpreter>context:hasSender:
tim
-------------- next part --------------
'From Squeak3.1alpha of 7 March 2001 [latest update: #4343] on 6 October 2001 at 10:15:20 am'!
"Change Set: Interpreter>contexthasSenderFix
Date: 6 October 2001
Author: tim at sumeru.stanford.edu
Remove a spurious receiver from the last line of the loop; the inliner seems to have been cleaning it up for us in most vms, but attempting to make a non-ilined vm will break on it"!
!Interpreter methodsFor: 'contexts' stamp: 'tpr 10/6/2001 10:13'!
context: thisCntx hasSender: aContext
"Does thisCntx have aContext in its sender chain?"
| s nilOop |
self inline: true.
thisCntx == aContext ifTrue: [^false].
nilOop _ nilObj.
s _ self fetchPointer: SenderIndex ofObject: thisCntx.
[s == nilOop]
whileFalse:
[s == aContext ifTrue: [^true].
s _ self fetchPointer: SenderIndex ofObject: s].
^false! !
More information about the Squeak-dev
mailing list
|