'From Cuis 1.0 of 28 November 2009 [latest update: #337] on 8 December 2009 at 4:52:46 pm'!

!MethodContext methodsFor: 'accessing' stamp: 'eem 8/20/2008 09:28'!
tempAt: index 
	"Answer the value of the temporary variable whose index is the 
	 argument, index.  Primitive. Assumes receiver is indexable. Answer the
	 value of an indexable element in the receiver. Fail if the argument index
	 is not an Integer or is out of bounds. Essential. See Object documentation
	 whatIsAPrimitive.  Override the default at: primitive to give latitude to the
	 VM in context management."

	<primitive: 210>
	^self at: index! !

!MethodContext methodsFor: 'accessing' stamp: 'eem 8/20/2008 09:29'!
tempAt: index put: value 
	"Store the argument, value, as the temporary variable whose index is the 
	 argument, index.  Primitive. Assumes receiver is indexable. Answer the
	 value of an indexable element in the receiver. Fail if the argument index
	 is not an Integer or is out of bounds. Essential. See Object documentation
	 whatIsAPrimitive.  Override the default at:put: primitive to give latitude to
	 the VM in context management."

	<primitive: 211>
	^self at: index put: value! !

"Postscript:
Recompile methods in ContextPart, superclasses and subclasses that access inst vars"
ContextPart withAllSuperclasses, ContextPart allSubclasses asArray do:
	[:class|
	class instSize > 0 ifTrue:
		[class allInstVarNames do:
			[:ivn|
			(class whichSelectorsAccess: ivn) do:
				[:sel|
				class recompile: sel]]]]!

