Levente Uzonyi uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-ul.1176.mcz
==================== Summary ====================
Name: Kernel-ul.1176 Author: ul Time: 4 June 2018, 7:28:14.840591 pm UUID: 70ad3394-d256-4a05-91aa-b5b2937739e3 Ancestors: Kernel-ul.1175
- iterative version of Context >> #copyTo: instead of a recursive one - optimized version of Integer >> #timesRepeat:
=============== Diff against Kernel-ul.1175 ===============
Item was changed: ----- Method: Context>>copyTo: (in category 'query') ----- copyTo: aContext + "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender. Assume that there is no loop in the context chain." - "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender."
+ | currentContext senderContext copy | - | copy | self == aContext ifTrue: [ ^nil ]. + currentContext := copy := self copy. + [ + senderContext := (currentContext sender ifNil: [ ^copy ]) copy. + currentContext privSender: senderContext. + currentContext := senderContext ] repeat! - copy := self copy. - sender ifNotNil: [ copy privSender: (sender copyTo: aContext) ]. - ^copy!
Item was changed: ----- Method: Integer>>timesRepeat: (in category 'enumerating') ----- timesRepeat: aBlock "Evaluate the argument, aBlock, the number of times represented by the receiver."
+ | remaining | + remaining := self. + [ (remaining := remaining - 1) >= 0 ] whileTrue: [ + aBlock value ]! - | count | - count := 1. - [count <= self] - whileTrue: - [aBlock value. - count := count + 1]!
packages@lists.squeakfoundation.org