[squeak-dev] The Trunk: Collections-ul.293.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Feb 5 04:29:52 UTC 2010


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'!




More information about the Squeak-dev mailing list