"MagmaTestCase suite debug" just passed in the 64-bit image! Wow, that was a lot easier than I thought. The only compatibility issue turned out to be the new range of SmallInteger now extending out to 60 bits instead of only 30.
A 64-bit image can read all LargeInteger buffers created in 32-bit environments valued between the legacyMaxVal and the new 60-bit just fine. However, It must serialize SmallIntegers larger than legacyMaxVal as LargeIntegers, because Magma's oid space is only 48 bits.
With these overrides in SmallInteger, legacy Magma applications can now run in a heterogeneous environment of 32 and 64-bit images and VMs. VM installation onto 64-bit OS's will no longer require the complicated installation of the 32-bit libraries, a big gain for users!
Back when Squeak only had the interpreter VM, Magma actually had a 64-bit oid space, but it was too early, it proved to be bigger than necessary for the speed of that time, so I cut it to 48 bits. :-\
48 bits is still big enough for huge databases, but starting to feel limiting in the 64-bit environment especially now that the 64-bit image has optimized double-precision floats, as well..!
So many projects. I wish a brilliant PhD student would design Magma a new optimal "magma64" oid-space!
- Chris
magma@lists.squeakfoundation.org