Multi-threaded VM

bryce at kampjes.demon.co.uk bryce at kampjes.demon.co.uk
Sat Oct 27 15:16:30 UTC 2007


Michael van der Gulik writes:
 > Hi Rob.
 > 
 > I think that many other people would be interested in this. I suggest making
 > stage 3 here a separate project in its own right. If it is stable and works
 > well, I could see it becoming the official Squeak VM. Also keep integration
 > with Exupery in mind.

So long as there are no object memory changes then Exupery should be
easy to port to it. The only thing to be aware of is Context objects
that are being executed are not accurately populated. This is not
a problem for a single threaded VM as it's impossible to reflect
on a context without exiting it to execute the primitive.

That said, I don't think it would be that hard to make the VM multi
threaded. It would probably require a GC rewrite but such a rewrite
could also make single threaded execution faster and allow for a
mostly background old space collector. I've thought about such a
rewrite when looking at some memory access sequences but it would be
after Exupery 3.0 in my list. Squeak's GC is a good fit for the
current interpreter but may start looking slow if execution was 10
times faster.

Bryce



More information about the Squeak-dev mailing list