[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