[Pkg] The Trunk: Kernel-eem.750.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Mar 20 21:07:14 UTC 2013


Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.750.mcz

==================== Summary ====================

Name: Kernel-eem.750
Author: eem
Time: 20 March 2013, 2:06:11.127 pm
UUID: ebc85716-a4ee-436b-a229-397e78b85586
Ancestors: Kernel-eem.749

Avoid embeddedBlockClosures holding onto the
ClosureExtractor that created them.
Avoid repeatedly calling endPC in embeddedBlockClosures scan.

=============== Diff against Kernel-eem.749 ===============

Item was changed:
  ----- Method: ClosureExtractor>>scanner: (in category 'accessing') -----
  scanner: anInstructionStream
  	scanner := anInstructionStream.
  	currentContext := MethodContext
  							sender: nil
+ 							receiver: nil
- 							receiver: self
  							method: scanner method
  							arguments: (Array new: scanner method numArgs)!

Item was changed:
  ----- Method: CompiledMethod>>embeddedBlockClosures (in category 'closures') -----
  embeddedBlockClosures
+ 	| bms extractor scanner endPC |
- 
- 	| bms extractor scanner |
  	bms := OrderedCollection new.
  	scanner := self scanner.
  	extractor := ClosureExtractor withAction: [ :c | bms add: c ] andScanner: scanner.
+ 	endPC := self endPC.
+ 	[ scanner pc <= endPC ] whileTrue: [ scanner interpretNextInstructionFor: extractor ].
- 	[ scanner pc <= self endPC ] whileTrue: [ scanner interpretNextInstructionFor: extractor ].
  	^ bms!



More information about the Packages mailing list