Chris Muller uploaded a new version of Collections to project The Inbox: http://source.squeak.org/inbox/Collections-cmm.673.mcz
==================== Summary ====================
Name: Collections-cmm.673 Author: cmm Time: 31 December 2015, 4:05:21.536 pm UUID: f9f9498e-b548-443b-87fe-af21ba6e8f52 Ancestors: Collections-eem.672
Do not let FinalizationDependents become a strongly-referencing Array, and let it grow exponentially instead of linearly, because that is the best general growth strategy when one doesn't know how many will need to be created.
=============== Diff against Collections-eem.672 ===============
Item was changed: ----- Method: WeakArray class>>addWeakDependent: (in category 'accessing') ----- addWeakDependent: anObject
FinalizationLock critical: [ | emptySlotIndex | emptySlotIndex := FinalizationDependents identityIndexOf: nil ifAbsent: [ | newIndex | newIndex := FinalizationDependents size + 1. + FinalizationDependents := (FinalizationDependents grownBy: FinalizationDependents size) as: WeakArray. - "Grow linearly" - FinalizationDependents := FinalizationDependents grownBy: 10. newIndex ]. FinalizationDependents at: emptySlotIndex put: anObject ] ifError: [ :msg :rcvr | rcvr error: msg ]!
squeak-dev@lists.squeakfoundation.org