[squeak-dev] New weak finalization support. Implementation

Igor Stasenko siguctua at gmail.com
Tue May 25 04:35:46 UTC 2010


Hello,
i updated the weak finalization classes.

I made its behavior/protocol similar to old WeakRegistry,
also all weak registry tests on new class is green.

First, file in .st
then .cs

Also, don't forget about special objects array:
http://bugs.squeak.org/view.php?id=7525

And sure thing, you will need a VM support for it.

But I am unsure, how to introduce a fallback code (and do we really need it)?
I thought, that i could just add a simple startUp routine which does
GC to see if new finalization supported by VM.
Then it could pick either WeakFinalizationRegistry or old WeakRegistry.
But then, it will slow down the image startup significantly,
not saying that John fought hard to avoid full memory/heap walk during
image startup on iPhone.
So, maybe introduce an additional prim into VM, which will tell us if
it supports new finalization?
Or query the VM version?
I need your advice.


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


More information about the Squeak-dev mailing list