Andreas Raab uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ul.297.mcz==================== Summary ====================
Name: Kernel-ul.297
Author: ul
Time: 13 November 2009, 2:39:10 am
UUID: a9d016dd-2b26-414d-aad4-08a732599dee
Ancestors: Kernel-ar.294
In MethodDictionary
- implemented #fixCollisionsFrom:
- removed #keyAt: (nobody sends it)
- removed super send from #swap:with:
=============== Diff against Kernel-ar.294 ===============
Item was added:
+ ----- Method: MethodDictionary>>fixCollisionsFrom: (in category 'private') -----
+ fixCollisionsFrom: start
+ "The element at start has been removed and replaced by nil.
+ This method moves forward from there, relocating any entries
+ that had been placed below due to collisions with this one."
+
+ | key index |
+ index := start.
+ [ (key := self basicAt: (index := index \\ array size + 1)) == nil ] whileFalse: [
+ | newIndex |
+ (newIndex := self scanFor: key) = index ifFalse: [
+ self swap: index with: newIndex ] ]!
Item was changed:
----- Method: MethodDictionary>>swap:with: (in category 'private') -----
swap: oneIndex with: otherIndex
| element |
element := self basicAt: oneIndex.
self basicAt: oneIndex put: (self basicAt: otherIndex).
self basicAt: otherIndex put: element.
+ array swap: oneIndex with: otherIndex
- super swap: oneIndex with: otherIndex
!
Item was removed:
- ----- Method: MethodDictionary>>keyAt: (in category 'private') -----
- keyAt: index
-
- ^self basicAt: index!