squeak-smalltalk/squeak.org

Is there a CogVM (V3, 32-bit) for a modern Mac?

Ted-Kaehler opened this issue · 7 comments

I have a COG image that I have been working in since 2015. Is there any VM I can get for Mac OS 10.11 Big Sur that can run or convert my old COG image? There may be a 32-bit vs 64-bit problem also. (The image does work in SqueakJS, which is wonderful, but I'd like to go a little more native.) --Ted.

Hi, Ted. From https://squeak.org/downloads I see a link for stable OpenSmaltalk VMs, https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/202003021730 . On that page there's a link for a 32-bit Intel macOS VM that runs 32-bit Squeak object memories, https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/download/202003021730/squeak.cog.spur_macos32x86_202003021730.dmg .

It doesn't look like there are automated builds of 64-bit macOS VMs (either Intel or M1) that run 32-bit Squeak object memories, and Big Sur doesn't run 32-bit apps (I use Mojave in a Parallels VM for that). SqueakJS currently runs both 32-bit and 64-bit memories, but when it writes it creates a 32-bit memory.

At the moment, the Windows platform seems to be the only platform where you can conveniently open 32-bit and 64-bit images, using the proper VMs. On Ubuntu/LInux, you have to fiddle around with the proper i386 libraries, which might not all be able to co-exist with their modern 64-bit variants.

Well, in theory it is possible to extent the OSVM to support 32-bit images out-of-the-box, converting them to 64-bit on the fly. Unfortunately, this would also involve some image-level patches, considering the conversion of the object memory from V3 (32-bit) to Spur (32-bit or 64-bit).

Hi all. For what it's worth, I'm working toward making the Naiad module system able to synchronize arbitrary live object state between multiple object memories, not just methods and classes.