'From Cuis 2.6 of 10 August 2010 [latest update: #540] on 28 August 2010 at 10:13:07 pm'!

!BytecodeAgnosticMethodNode methodsFor: 'code generation (closures)' stamp: 'jmv 8/28/2010 22:12'!
addLocalsToPool: locals "<Set of: TempVariableNode>"
	zzlocalsPool ifNil: [
		zzlocalsPool := IdentitySet new].
	zzlocalsPool addAll: locals.
	localsPool _ zzlocalsPool! !

!BytecodeAgnosticMethodNode methodsFor: 'code generation (closures)' stamp: 'jmv 8/28/2010 22:08'!
locationCounter
	^zzlocationCounter! !

!BytecodeAgnosticMethodNode methodsFor: 'code generation (closures)' stamp: 'jmv 8/28/2010 22:11'!
noteBlockEntry: aBlock
	"Evaluate aBlock with the numbering for the block entry."
	zzlocationCounter ifNil: [
		zzlocationCounter := -1].
	aBlock value: zzlocationCounter + 1.
	zzlocationCounter := zzlocationCounter + 2! !

!BytecodeAgnosticMethodNode methodsFor: 'code generation (closures)' stamp: 'jmv 8/28/2010 22:11'!
noteBlockExit: aBlock
	"Evaluate aBlock with the numbering for the block exit."
	aBlock value: zzlocationCounter + 1.
	zzlocationCounter := zzlocationCounter + 2! !

!BytecodeAgnosticMethodNode methodsFor: 'code generation (closures)' stamp: 'jmv 8/28/2010 22:12'!
referencedValuesWithinBlockExtent: anInterval 
	^(zzlocalsPool select:
		[:temp|
		 temp isReferencedWithinBlockExtent: anInterval]) collect:
			[:temp|
			temp isRemote ifTrue: [temp remoteNode] ifFalse: [temp]]! !

