The Trunk: Collections-ul.415.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Collections-ul.415.mcz

commits-2
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.
- '.
- !