[squeak-dev] Letting the VM run multiple image formats (was: Condensing sources for a new release)

Eliot Miranda eliot.miranda at gmail.com
Fri Feb 7 19:12:35 UTC 2020


On Fri, Feb 7, 2020 at 11:07 AM David T. Lewis <lewis at mail.msen.com> wrote:

> On Fri, Feb 07, 2020 at 08:41:36AM +0100, Tobias Pape wrote:
> >
> > > On 07.02.2020, at 03:03, David T. Lewis <lewis at mail.msen.com> wrote:
> > >
> > > A 64-bit to 32-bit image converter would be a very good thing to have
> > > in our toolkit :-)
> >
> > Or, you know, making the VMs understand both formats ;)
> >
>
> Changing the subject line, because this is really a different topic.
>
> It is very easy to set up VM to run various image formats. Technically,
> it would be hard to do this from a single compiled VM executable, but
> fortunately that is not needed. The only requirement is an agreed naming
> convention for the installations.
>
> I've posted a run script to handle this several times over the years, but
> the key thing is this:
>
>   # Scripts for running various interpreters
>   INTERP_SCRIPT="squeak"       # Context VM for 32 and 64 bit images
>   COG_SCRIPT="cog"             # Cog VM
>   SPUR_SCRIPT="spur"           # Spur VM for 32-bit Spur image
>   SPUR64_SCRIPT="spur64"       # Spur VM for 64-bit Spur image
>
> As long as each flavor of VM is installed in a distict directory under
> /usr/local/lib/squeak, and as long as the run scripts that point to
> those directories have distinct names in /usr/local/bin, then the
> selection of a correct VM executable for any given image format is
> handled from a single shell script. I call it /usr/local/bin/run on
> my PC, hence "$ run squeak.image" for any flavor of squeak.image.
>
> I can re-post my run script if there is an interest, but it's useless
> without establishing a naming convention.
>
> Is there any interest?
>

Yes.  I've already gone some way to producing a 64-bit to 32-bit Spur image
converter.  The refactored code which shares almost all methods between the
32->64 and 64->32 is committed, and 32->64 works. I'll work on finishing
64->32 when time allows.

_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200207/db4965ab/attachment.html>


More information about the Squeak-dev mailing list