Thoughts on a concurrent Squeak VM

John M McIntosh johnmci at
Thu Nov 1 01:10:47 UTC 2007

On Oct 31, 2007, at 6:00 PM, Andreas Raab wrote:

> tim Rowledge wrote:
>> Yes, we could probably rewrite a lot of code currently in C source  
>> files and put it into Slang methods. Yes, we could probably  
>> improve Slang (we tried to get some of that done at Interval but  
>> ran out of time) to be more friendly. Yes, we could do lots of  
>> things. Got time to do them? Or money to pay me/Craig/Andreas/Ian/ 
>> John/Mike/Bryce/whoever to do it fulltime? That's the kind of  
>> thing that would be required to be able to make any major changes
> Well, but let's not throw out the baby with the bath water.  
> Improvements would be welcome, in particular if they are easy to  
> review and to integrate. It is probably unwise to start this as the  
> lets-rewrite-the-vm-and-its-tools-from-scratch approach but there  
> are plenty of things that we could do better. For example, I would  
> welcome a patch that enables the code generator to optionally build  
> the entire VM as an object. That'd be a very nice stepping stone  
> towared a multi-threaded VM and can probably be done in a fairly  
> incremental way.
> Cheers,
>  - Andreas

Well building the interpreter.c file to use a single structure for  
globals and then setup a pointer to that allocated structure  
somewhere is trivial as compared to the other ideas kicked about.
However to complete this concept is you need to move the support code  
and plugins to use memory hung off the interpreter structure for  
their globals, that is a more time consuming
process, but certainly not difficult, unlike oh concurrent multi- 
threaded GC algorithms.

John M. McIntosh <johnmci at>
Corporate Smalltalk Consulting Ltd.

More information about the Squeak-dev mailing list