[squeak-dev] Re: The broken user interrupt, or the saga of 100000 factorial.

David T. Lewis lewis at mail.msen.com
Fri Dec 23 19:58:40 UTC 2011


On Fri, Dec 23, 2011 at 04:51:58PM +0100, Levente Uzonyi wrote:
> On Fri, 23 Dec 2011, David T. Lewis wrote:
>
> >The image side changes were part of Squeak 4.2, and VM changes happened
> >before that. I think that all the VMs currently in circulation will have
> >this support, but I'm not certain of it.
>
> Eliot's CogVMs don't have this patch.

Oh! I'm afraid you are right, I did not notice that.

For reference, the weak finalization enhancement with original change
sets for Cog and squeak VM is on Mantis:
  <http://bugs.squeak.org/view.php?id=7473>


On Fri, Dec 23, 2011 at 04:57:02PM +0100, Levente Uzonyi wrote:
> On Fri, 23 Dec 2011, David T. Lewis wrote:
> 
> There's still a very small window during startUp while the value of 
> HasNewFinalization can be incorrect and it seems to be really hard to fix 
> it from the image side. I don't know if this can cause any problems, but a 
> new primitive for checking the availability would have been a better 
> choice IMHO.

Yes a primitive or VM parameter might have been better, although it's
probably too late to worry about it now.

I think that in practice this is harmless, since any problems
should be corrected once the new weak finalization process has
started running.  But a related concern may be that the weak
finalization process is terminated before the new one is started,
and it is probably not a good idea to terminate that process if
it might be in the middle of e.g.  finalizing values in a
WeakKeyDictionary.  Again this is probably not an issue in practice,
but it does look a bit dangerous.

Dave




More information about the Squeak-dev mailing list