Levente Uzonyi uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.293.mcz==================== Summary ====================
Name: Collections-ul.293
Author: ul
Time: 5 February 2010, 4:28:18.492 am
UUID: 98d428ae-f3f1-e74c-b305-0795d002ade2
Ancestors: Collections-ul.292
- weak collection changes, part 3
=============== Diff against Collections-ul.292 ===============
Item was changed:
----- Method: WeakKeyDictionary>>finalizeValues: (in category 'finalization') -----
finalizeValues: finiObjects
"Remove all associations with key == nil and value is in finiObjects.
This method is folded with #rehash for efficiency."
| oldArray |
+ self deprecated: 'The finalization logic changed, this method shouldn''t be called anymore.'.
oldArray := array.
array := Array new: oldArray size.
tally := 0.
1 to: array size do: [ :index |
(oldArray at: index) ifNotNil: [ :association |
association key ifNotNil: [ :key | "Don't let the key go away"
(finiObjects includes: association value) ifFalse: [
array
at: (self scanForEmptySlotFor: key)
put: association.
tally := tally + 1 ] ] ] ]!
Item was changed:
+ (PackageInfo named: 'Collections') postscript: ''!
- (PackageInfo named: 'Collections') postscript: 'WeakRegistry allInstancesDo: #installFinalizer'!