Adding loop primitives/optimizations (was Making Set/Dictionaryetc. loops more robust)

Joshua Scholar jscholar at access4less.net
Wed Dec 1 22:32:39 UTC 2004


I really should leave now, but I just wanted to point out that you
misunderstood what Tim Rowledge and I were talking about.

The problem here is an _primitive_ iterator over a _block of regular
Smalltalk code_.  In this case, the plug-in has to call back into the
interpreter (I hope there's a way to do that).

What I was saying is that in this case, Slang/C code needs variables that
count toward not collecting an object, because inside the plugin's code, the
interpreter is running in all it's glory.

And you know what, it's not onerous at all for objects to be relocated, as
long as the GC updates the registered Slang variables just like it updates
the rest of the variables in the system.

Ok, I can see that if you didn't design this sort of flexibility into the
the VM then adding it could be a real job, but you know, it's a heavy
restriction of Slang if this isn't possible.  Another way of looking at it,
mya be that these are primitives that should be integrated into the
interpreter the way current invocation block code is, not considered a plug
in as such.

Joshua Scholar




More information about the Squeak-dev mailing list