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

Marcus Denker denker at iam.unibe.ch
Thu Dec 2 10:06:07 UTC 2004


Am 02.12.2004 um 09:31 schrieb goran.krampe at bluefish.se:

> Hi Joshua!
>
> I will try to answer a few questions.
>
> "Joshua Scholar" <jscholar at access4less.net> wrote:
>> It would be fun to add primitives to speed up basic loops, but I'm 
>> confused
>> about if, when and where the new closure compiler is going to come on 
>> line.
>
> The new compiler is planned to enter 3.9alpha as soon as 3.8 goes final
> or something similar.
> Marcus Denker is holding that ball and can answer details.
>

The plan is to add the new compiler to 3.9 as an option. I changed the 
closurecompiler
to optionally emit old syle bytecode, so we can dumb the old compiler 
at some point
even if we don't want to have closures by default.

>> Is the rest of VI4 going to be in Squeak 4?  Perhaps it's already in 
>> - the
>> page is dated two years ago.  Or was it abandoned?
>>

Squeak 4 is a chimera. We used to call it "Squeak 3" up to the point 
were
the change file got to big and we made a V3. So my guess is that 
"Squeak4" will
be renamed to "Squeak5" sometime next year. Don't hold your breath.

>> How do I test the closure compiler?  The page on Swiki says that the
>> primitives went in to the VM back in 3.6.something, but someone 
>> complained
>> that the new compiler was too slow on 3.7, and wondered if the 
>> primitives
>> are in...
>>

Testing the closurecompiler:  Just install (in 3.8image): Package 
Compiler, then
package "closure-compiler". This comes with tests. There is a 
Preference to
turn compiling with closures on and off.
This will be slow untill the new 3.8 vm is released, and even after 
that full closure
activation will be slower then the old blocks. Possibilties for some 
optimiziations
are there e.g. I'd like to try to compile old style blocks in the cases 
where there
are no captered vars...


>> So, are the primitives in 3.7, 3.8 & 3.9?
>
> Not sure, Marcus probably knows

The primitives for an early version of the closureCompiler have been in
3.6/3.7. But the current version needs a new one, this will be in the 
3.8
vm.


>
> Anthony claimed impressive speedups with his new stuff (Closures etc) -
> so hopefully all that will go in -

No. The stack layout/new bytecode stuff is not part of the 
closurecompiler
and has been discontinued, as far as I know.

    Marcus




More information about the Squeak-dev mailing list