[squeak-dev] New finalization + migration

Igor Stasenko siguctua at gmail.com
Wed Sep 22 22:49:49 UTC 2010


Hello,

here the latest version of scripts , which supposed to work in both
pharo and squeak
(except that pharo still missing some prerequisites like
HashedCollection and WeakKeyDictionary changes).

I added some class comments, and did some refactoring.

Install files in following order:

phase-0.cs
phase-1-weakfinalizationlist.st
phase-1-weakfinalizationregistry.st
phase-1-weakfinalizeritem.st
phase-2-finalizationprocess.1.cs
phase-3-migrating.1.cs

I split it on phases to indicate the boundaries of mcz packages.

It works well on latest 4.2 images under Squeak VM and Cog.
It doesn't requires updated VM (things are keep working under older
VMs, it just don't using new functionality).

Please, examine the #migrateOldRegistries method in
WeakFinalizationRegistry class side.
It may be a little bit buggy, since i want to replace one class with
another and not sure how to do it correctly
(Just stop before phase 3, where WeakFinalizationRegistry is not yet
made to be WeakRegistry).

If there is everything ok, then with help of some generous soul, these
changes can be pushed in trunk, because i have no idea
how to generate a proper .mcd configs in order to load these changes
in right order.

P.S. Reminder to Eliot: I am also uploaded the Cog VM changes on
mantis (http://bugs.squeak.org/view.php?id=7473),
in case if you miss it in my previous mail.

-- 
Best regards,
Igor Stasenko AKA sig.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: new finalization.zip
Type: application/zip
Size: 7930 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100923/691c0252/newfinalization.zip


More information about the Squeak-dev mailing list