Thoughts on a concurrent Squeak VM

Rob Withers reefedjib at yahoo.com
Wed Oct 31 16:57:12 UTC 2007


----- Original Message ----- 
From: "Andreas Raab" <andreas.raab at gmx.de>
To: "The general-purpose Squeak developers list" 
<squeak-dev at lists.squeakfoundation.org>
Sent: Wednesday, October 31, 2007 9:37 AM
Subject: Re: Thoughts on a concurrent Squeak VM


> Rob Withers wrote:
>> What about using C++?  There would be some degradation of performance. 
>> However, there would be the benefit of structuring the VM classes, of not 
>> having to add VM as an argument everywhere, and it may even be possible 
>> to subclass Thread so we know where the thread-local storage is.
>
> For the VM internally, I don't really care. Since this is generated code 
> there is really no difference to me. For plugins it is not feasible to use 
> C++ since name mangling not standardized so you can't link reliably to C++ 
> APIs.

That's true that it's internal to the VM so it shouldn't matter.  I suppose 
the benefi of structuring the classes was more of an in image issue with me. 
Even using C, we could separate off the primitives into a Primitives class 
and compile with ObjectMemory, Interpreter, and Primitives so they are all 
generated in the same file.  Then we would just need to make sure the 
InterpreterSimulator knew about the Primitives class.  The same issue as 
would apply if ObjectMemory and Interpreter were no longer part of the same 
hierarchy.

It makes sense that primitives would have a problem with name mangling, so 
named primitives can't be in C++ classes...indexed could be, though, as long 
as the primitive table were initialized with the mangled names.

cheers,
Rob 




More information about the Squeak-dev mailing list