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!
packages@lists.squeakfoundation.org