Andreas Raab uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ar.186.mcz==================== Summary ====================
Name: System-ar.186
Author: ar
Time: 30 November 2009, 9:06:25 am
UUID: 64524af6-b3c1-7c40-a1dc-2d31cf44f3e2
Ancestors: System-dtl.185, System-ul.185
Merging System-ul.185:
Part 1 of SystemDictionary hash change (use #hash instead of #identityHash)
=============== Diff against System-dtl.185 ===============
Item was added:
+ ----- Method: SystemDictionary>>scanForEmptySlotFor: (in category 'private') -----
+ scanForEmptySlotFor: anObject
+ "Scan the key array for the first slot containing an empty slot (indicated by a nil). Answer the index of that slot. This method will be overridden in various subclasses that have different interpretations for matching elements."
+
+ | index start |
+ index := start := anObject hash \\ array size + 1.
+ [
+ (array at: index) ifNil: [ ^index ].
+ (index := index \\ array size + 1) = start ] whileFalse.
+ self errorNoFreeSpace!
Item was added:
+ ----- Method: SystemDictionary>>scanFor: (in category 'private') -----
+ scanFor: anObject
+ "Scan the key array for the first slot containing either a nil (indicating an empty slot) or an element that matches anObject. Answer the index of that slot or raise an error if no slot is found. This method will be overridden in various subclasses that have different interpretations for matching elements."
+
+ | index start |
+ CollectionRehashingUtility quickRehashBecause: #systemDictionaryScanForChanged.
+ index := start := anObject hash \\ array size + 1.
+ [
+ | element |
+ ((element := array at: index) == nil or: [ element key == anObject ])
+ ifTrue: [ ^index ].
+ (index := index \\ array size + 1) = start ] whileFalse.
+ self errorNoFreeSpace!