[squeak-dev] VM artefacts

Eliot Miranda eliot.miranda at gmail.com
Mon Feb 4 22:05:48 UTC 2013


Hi Alex

On Mon, Feb 4, 2013 at 1:52 PM, Alexander Lazarević <laza at e11bits.com>wrote:

> Thanks, Frank.
>
> Maybe I wasn't that clear. I wanted to know if it would be possible to
> have one vm for linux, Windows, Mac, ..., that could use an interpreter
> object engine, stack object engine or a cog object engine.
>

I'm still not sure I understand the question.  Yes, you can run "one" VM on
the three platforms, in fact any one.  Cog runs on all three.  The
Interpreter runs on all three.  The StackVM runs on all three.  No, you
can't have _just one_ VM because each VM executable is specific to a given
OS/processor combination.

So what are you really asking?  Do you want the "all-in-one" which has
three VMs hidden inside it?  Do you want a universal binary?  Or what?


> Alex
>
>
> 2013/2/4 Frank Shearar <frank.shearar at gmail.com>
>
>> On 4 February 2013 21:08, Alexander Lazarević <laza at e11bits.com> wrote:
>> > Hi!
>> >
>> > Just to get myself up to date on the latest. Is it still true, that we
>> got
>> > three independent VMs?
>> >
>> > 1. Interpreter VM
>> > 2. Stack VM
>> > 3. Cog
>> >
>> > So as I recall the Stack VM was planned to replace the Interpreter VM
>> > entirely. Or are there any cases were one only could use an Interpreter
>> VM
>> > (or cog)? Or is the Stack VM the all versatile VM by now? What are the
>> > requirements for cog to run?
>>
>> If you have a 64 bit machine and no way to install 32 bit libraries
>> (Heroku, say), then Interpreter VM is your only choice. (Or, 32 bit
>> libs are a requirement for Cog.)
>>
>> > It might not come as a surprise, but I haven't looked into the VM code
>> > lately. But I recall that the linux VM at least uses the modules
>> framework
>> > to have different display, sound, etc. plugins for the VM. I don't know
>> how
>> > interleaved the VMs from above are, but would it be out of scope to have
>> > _one_ VM that could have different object engines as VM plugins? So the
>> VM
>> > could check the architecture it's running on and the image that should
>> be
>> > loaded and decide on that what object engine to load/use?
>>
>> I'll leave it to others to answer definitively but I suspect the
>> answer is that while you can share the codebase to a large extent, you
>> can't have a cross-platform binary. Squeak does run on at least OS X,
>> Linux, FreeBSD, Windows, RISC OS.
>>
>> frank
>>
>> > The obvious benefit for the enduser I see is: *There is only one VM !*
>> >
>> > The benefit for VM developers might be that they only need to focus on
>> the
>> > object engines and they would share a common VM frame.
>> >
>> > This might be a "well yes, but too much work" thing, but nevertheless
>> it's
>> > something I would like to share.
>> >
>> > (If turns out that the energy would better invested into something
>> > different, there is also the possibility to use the package system on
>> debian
>> > derived systems, that would take care to install the right VMs on such
>> > system, so that the enduser wouldn't need to worry about this. And I
>> guess
>> > there is a similar mechanism for windows and mac)
>> >
>> > Alex
>> >
>> >
>> >
>>
>>
>
>
>
>


-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130204/d019edce/attachment.htm


More information about the Squeak-dev mailing list