[Vm-dev] [squeak-dev] Apple starting to alert users that it will end 32-bit app support on the Mac

Jecel Assumpcao Jr. jecel at merlintec.com
Thu Apr 12 23:00:03 UTC 2018


Eliot Miranda wrote on Thu, 12 Apr 2018 14:10:38 -0700
> That's why for me by far the simplest thing is to convert.

Computers have become a hundred times faster since Squeak first came out
and while disks are also faster the difference is a lot less dramatic.
So though having image files be nearly exact memory dumps might not be
as important today.

Couldn't we have a (possibly optional) plugin capable of loading
different image file formats and then depositing the objects into the
VMs memory? I am supposing that computing and disk i/o happen in
parallel. In that case even non trivial transformations would be
essentially free.

If the performance is good enough we could convert on every single load
if needed. Currently we convert endiness on load, but always save in the
native order. This policy would work well here as well, except that a
lack of "save as 32 Bit V3" and such would make sharing with old VMs
harder. I don't see as a problem since the format wouldn't be the only
thing that would trip up an older VM and you could always use something
like SystemTracer if you really need this.

An alternative that I worked on in the 1990s was a size independent
image format. It used trivial compression to encode integers that could
be arbitrarily long. Object references were compressed by being relative
to each object being encoded: so 3 means the object a little after this
one in the file while -1 is the previous object. As the file was read in
the integers would become either SmallIntegers or LargeIntegers
depending on the processor's bit width.

I would not recommend something like this for Open Smalltalk, but was
just showing that there are multiple solutions.
-- Jecel


More information about the Vm-dev mailing list