<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hi, Eliot</div><div class=""><br class=""></div><div class="">So, I was wanting to adopt Squeak version (since our version are working with some Igor changes that does not apply anymore…)</div><div class="">This started because in my FFI-NB stuff, I realised finalisers are not called at all, and I assumed it was because of the different versions. </div><div class=""><br class=""></div><div class="">Right now, I’m struggling to inject Squeak sources into Pharo without break everything in the middle :(</div><div class=""><br class=""></div><div class="">Since I cannot continue without this working, and I cannot finish migration of Pharo to spur without a FFI-NB implementation, I’m willing to spend all time I can on it. </div><div class="">So… yes please, send me your prototype and I will try to understand what is missing :)</div><div class=""><br class=""></div><div class="">Esteban</div><br class=""><div><blockquote type="cite" class=""><div class="">On 30 Sep 2015, at 19:15, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" class="">eliot.miranda@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi Esteban,<div class="gmail_extra"><br class=""><div class="gmail_quote">On Wed, Sep 30, 2015 at 5:39 AM, Esteban Lorenzano <span dir="ltr" class=""><<a href="mailto:estebanlm@gmail.com" target="_blank" class="">estebanlm@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br class="">
Hi,<br class="">
<br class="">
I need to change the WeakRegistry, to adapt Pharo to finalisation on Spur and I wanted to “star over”, injecting into Pharo the packages Collections-Weak and System-Finalizer from Squeak.<br class="">
Now, that breaks everything, of course :)<br class="">
<br class="">
So, I wonder if there is a clean way to do this?<br class=""></blockquote><div class=""><br class=""></div><div class="">That's a great question. A few weeks ago I implemented the Ephemeron class for Squeak (I haven't committed it yet) and set about changing the finalization scheme to support both ephemerons and non-weak-registry-based weak array finalization. The latter is where the weak array that needs finalizing is added to the same VM queue that an ephemeron that needs finalizing gets added to. So instead of all WeakArrays getting finalized via the WeakRegistry mechanism every time one or more weak arrays get finalized, only the weak arrays that have actually lost a reference will get finalized. Alas, for reasons I don't understand, this broke the file system. I would use the system for some minutes and then suddenly source code viewed in the browser would be decompiled, since the source file had closed. Alas I don't have time to look at this now, but I do think very much it is the right way to go. Right now I'm busy with a long list of dependent changes that I must get fixed to make progress. So for now I can't help other than to e.g. mail you, or post, my prototype finalization changes and have you look at those and see if you can get them working in Pharo. I;m also interested in getting anyone else who would like to help involved. I am so overloaded right now it's not funny [right, ed :-) "Get some rest. If you don't have your health, you don't have anything". Count Rugen]</div></div></div></div></div></blockquote><div><br class=""></div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""><br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">thanks,<br class="">
Esteban</blockquote></div><br class=""><div class="gmail_signature"><div dir="ltr" class=""><div class=""><span style="font-size:small;border-collapse:separate" class=""><div class="">_,,,^..^,,,_<br class=""></div><div class="">best, Eliot</div></span></div></div></div>
</div></div>
</div></blockquote></div><br class=""></body></html>