Andreas Raab uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.231.mcz==================== Summary ====================
Name: Collections-ul.231
Author: ul
Time: 1 December 2009, 4:33:38 am
UUID: 475eb0bf-076a-384b-8b7d-b7695f145442
Ancestors: Collections-ul.230
Part 2 of KeyedIdentitySet hash change.
=============== Diff against Collections-ul.230 ===============
Item was changed:
Item was changed:
----- Method: KeyedIdentitySet>>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: #keyedIdentitySetScanForChanged.
index := start := anObject scaledIdentityHash \\ array size + 1.
[
| element |
((element := array at: index) == nil or: [ (keyBlock value: element) == anObject ])
ifTrue: [ ^index ].
(index := index \\ array size + 1) = start ] whileFalse.
self errorNoFreeSpace!