[Pkg] The Trunk: Collections-ul.415.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Dec 12 15:37:45 UTC 2010


Levente Uzonyi uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.415.mcz

==================== Summary ====================

Name: Collections-ul.415
Author: ul
Time: 12 December 2010, 4:37:27.575 pm
UUID: 67a50cf1-f9b7-b04c-9b97-aafeb4266086
Ancestors: Collections-ul.414

- another attempt to get rid of WeakRegistry class >> #migrateOldRegistries

=============== Diff against Collections-ul.414 ===============

Item was removed:
- ----- Method: WeakRegistry class>>migrateOldRegistries (in category 'migrating registry') -----
- migrateOldRegistries
- 	Smalltalk at: #WeakFinalizationRegistry ifAbsent: [ ^ self "already done" ].
- 	
- 	Smalltalk recreateSpecialObjectsArray.
- 	WeakArray restartFinalizationProcess.
- 	
- 	Smalltalk garbageCollect; garbageCollect.
- 	
- 	"leave no chance to interrupt migration"	
- 	Compiler evaluate: '
- 	[ | old new oldClass newClass |
- 		old := OrderedCollection new.
- 		new := OrderedCollection new.
- 		WeakRegistry allInstancesDo: [:registry | | newr |
- 			old add: registry.
- 			newr := WeakFinalizationRegistry basicNew initialize.
- 			registry migrateTo: newr.
- 			new add: newr ].
- 		old asArray elementsForwardIdentityTo: new asArray.
- 		
- 		oldClass := WeakRegistry.
- 		newClass := WeakFinalizationRegistry.
- 		
- 		Smalltalk forgetClass: newClass logged: false.
- 		newClass superclass removeSubclass: newClass.
- 		newClass setName: #WeakRegistry.
- 		oldClass becomeForward: newClass.
- 	] forkAt: Processor highestPriority.
- 	'.
- !



More information about the Packages mailing list