[squeak-dev] [4.2] - VM <-> image release coordination

Levente Uzonyi leves at elte.hu
Tue Jan 4 17:17:26 UTC 2011


On Tue, 4 Jan 2011, David T. Lewis wrote:

> On Tue, Jan 04, 2011 at 08:45:12AM +0100, Levente Uzonyi wrote:
>> On Mon, 3 Jan 2011, Eliot Miranda wrote:
>>
>>> On Sun, Jan 2, 2011 at 11:38 PM, Levente Uzonyi <leves at elte.hu> wrote:
>>>
>>>> Quoting Chris Muller <asqueaker at gmail.com>:
>>>>
>>>> Levente wrote:
>>>>>
>>>>> I think we should wait for the new VMs, before releasing the new images.
>>>>>>
>>>>>
>>>>> Hi Levente,
>>>>>
>>>>> I did agree, but now that Eliot is on a tear with a new code
>>>>> generator, the first official release might still be some weeks away.
>>>>> Someone please correct me if that is a misstatement.
>>>>>
>>>>> It seems unlikely 4.2 will be incompatible with whatever ends up being
>>>>> the first official Cog release.  We should consider pushing it out the
>>>>> door so we can re-open the trunk to new featurey.
>>>>>
>>>>
>>>> That's right, Cog's recent improvements introduced some instability. So I
>>>> think we should release Squeak 4.2 with SqueakVM only and postpone the
>>>> multi-VM release. We can also make the release cycle of Squeak 4.3 shorter
>>>> to catch up with the two release per year policy and deliver the VM
>>>> improvements earlier. I'm also sure that a lot of improvements will be
>>>> done
>>>> till April/May on both image and VM side.
>>>>
>>>
>>> It would be my preference to release with the Cog VM using the naive
>>> SimpleStackBasedCogit code generator.  After all that's worth at least 3x
>>> over the standard VM whereas the unstable StackToregisterMappingCogit is
>>> only ~ 8% faster than SimpleStackBasedCogit.  It's quite easy for me to
>>> generate either; the two coexist in the same VMMaker.
>>
>> Okay, then I guess we should make sure that the two VMs (SqueakVM and
>> CogVM with SimpleStackBasedCogit) behave the same way in most cases.
>> Here's an incomplete list of VM differences:
>> - CogVM does compile the FloatMathPlugin properly (no crash), but SqueakVM
>> doesn't or it does without optimizing the code. Wwe can apply some
>> optimization for most methods, see the makefiles of Cog.
>
> This is already done, so no issue for the new VMs.

IIRC Cog only uses -O0 for three functions, others are optimized with -O.


Levente

>
>> - CogVM doesn't support the new finalization scheme
>> - there's no SoundPlugin in CogVM on windows
>> - the SocketPlugin of CogVM seems to be missing the new primitives
>> - AllocationTest >> #testOneGigAllocation is still failing with CogVM
>
> There are definitely differences, as the Cog and standard VMs are
> currently built from separate code bases for both the support
> code and the generated code (VMMaker).
>
>> - I'm not sure if SqueakVM has all of the mirror primitives
>
> It does not. I have been looked at this over the past week myself,
> but I'm afraid it's a bit beyond my abilities to incorporate.
> Possibly Eliot can coach me a bit to get it done, but for planning
> purposes you should assume that the standard VM does not have
> mirror primitive support.
>
> Dave
>
>
>



More information about the Squeak-dev mailing list