[Vm-dev] VM support for older image formats (was: Simulating the Cog V3 VM)

David T. Lewis lewis at mail.msen.com
Wed May 11 23:50:51 UTC 2016

On Wed, May 11, 2016 at 05:24:28PM -0400, Phil (list) wrote:
> Cl??ment,
> On Wed, 2016-05-11 at 20:54 +0200, Cl??ment Bera wrote:
> > Why are you using V3 ? Is it required for what you are trying to do ?
> > Spur is generally better unless you need to use V3 for some reason.
> Chiming in since it seemed apropos: it's not by choice... not everyone
> has images that have been migrated to Spur (speaking as another Cuis
> user, but there are likely other images out there in the same
> situation) ??So until/unless there is a semi-automatic means of
> migrating images as VM changes necessitate it, there will be a small
> population of users being left behind on older VMs each time there is a
> new image format.
> This has been a pain point since the initial releases of Cog: not
> everyone is running off of the main Squeak (or even Pharo) images so
> every time there is a migration that involves 'just fire up a VMMaker
> image and...' and the described steps don't pretty much 'just work',
> there are going to be people stuck until they can figure out the
> process to migrate.
> This isn't necessarily a problem for the VM developers as one possible
> position could be 'the VM only supports the latest official Squeak (and
> Pharo?) images'. ??I don't think that's the position VM folks are taking
> so I'd just ask that VM developers keep in mind the reason some of us
> are using older VMs is that we're a bit stranded until we can sort out
> how to bridge the gap. (we're not VM developers so it is slow going for
> us)
> It's great to have a fish in the form of a migrated Squeak image. ??What
> seems to be missing is the fishing lesson that shows us how it was done
> rather than having to somewhat reverse engineer the process each time.

Even the very earliest Squeak images can be run on SqueakJS:


The traditional interpreter VM works well for images going back to
about Squeak 3.2, and up to but not including Spur images. Official
(but now outdated) releases are on squeakvm.org, and on Linux (not so
sure of other platforms), it is straightforward to compile an up to
date version yourself (*):


The Cog VMs run recent V3 images, as long as they are closure enabled.
That goes back a number of years now.


(*) If you try this, I would appreciate feedback as to whether you
encounter any problems. I think that it is a 10 minute recipe for a
first time VM builder, but I have never had any feedback to confirm
or deny that claim. If it works or does not work for you, please
speak up :-)

More information about the Vm-dev mailing list