Thoughts on a concurrent Squeak VM
Rob Withers
reefedjib at yahoo.com
Wed Oct 31 17:30:13 UTC 2007
----- Original Message -----
From: "Bert Freudenberg" <bert at freudenbergs.de>
To: "The general-purpose Squeak developers list"
<squeak-dev at lists.squeakfoundation.org>
Sent: Wednesday, October 31, 2007 10:16 AM
Subject: Re: Thoughts on a concurrent Squeak VM
> On Oct 31, 2007, at 17:57 , Rob Withers wrote:
>
>> ----- 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.
>
> I don't see any point in switching to C++.
I'm convinced. It was a little hard to let go since I like an OO
representation, but as Andraes observed, the VM being generated means I
don't really need to look at it too closely. For me it is more about the
class representation of the VM in the image. Interpreter is a busy class
and some of it's methods could be broken out in separate Squeak classes.
cheers,
Rob
More information about the Squeak-dev
mailing list
|