[Vm-dev] 32/64 bit VM and image combinations (was: egg sucking alert)

David T. Lewis lewis at mail.msen.com
Fri Dec 12 04:25:06 UTC 2014


On Thu, Dec 11, 2014 at 10:30:41AM -0800, John McIntosh wrote:
>  
> Recall at the time Apple didn't have 64bit support for a program to run
> under Cocoa, plus only a limited number of machines support 64 bit kernels.
> The fact you could go with a a 64 bit image on an 32bit machine allowed us
> to debug the base VM.
> 
> I agree the 32/64 64/32 is nice and symmetric, but I'm afraid it's a nice
> to have versus need now. If it's not seamless to write software and plugins
> that honour that agreement, then it's a world of trouble and hassle that
> it's not worth pursuing further.

For the record, and possibly to offer some perspective:

Getting the VM to work for all combinations of 32/64 bit image and VM was
not any extra work at all. The hard part was getting the 64-bit VM with
32-bit image to work. Once the type declarations were cleaned up well enough
to support this, the rest came along for free.

The 64-bit VMs work fine, and I have been using them for a long time (several
years I guess). Linux users can find one at http://squeakvm.org/unix/.

The 64-bit VM with 32-bit image is a particularly important configuration,
because it involves 64-bit machine pointers and 32-bit ints. This combination
will quickly expose the majority of problems related to pointer and word sizes.
If you want to make a plugin 32/64 bit clean (and there are several remaining
to be tidied up), this configuration is essential.

Dave



More information about the Vm-dev mailing list