To consider for migration to Spur 64-bit
Last updated at 6:13 pm UTC on 12 November 2018
To edit
Eliot Miranda Sun, Nov 11, 2018 at 8:22 PM
Reply-To: The general-purpose Squeak developers list
To: The general-purpose Squeak developers list
Reply | Reply to all | Forward | Print | Delete | Show original
Hi Edgar,
> On Nov 11, 2018, at 2:16 AM, Edgar J. De Cleene wrote:
>
> Exist a way of open a old Stack or Cog .image with CogSpur64 ?
> This is a must as with Mohave the only working VM is CogSpur64 .
No. The routes are to
- migrate your application to Spur 32-bit and then automatically convert the image to Spur 64-bit
- migrate your application to Spur 64-bit
Since there is little difficulty migrating most code from V3 to Spur this should be straight-forward. Only a few things are not supported:
- Spur refuses to support stable object enumeration via nextObject; one must use allObjects (& the image segment loading primitive effectively answers an array of the loaded objects), so no support for determining an object’s age
- floats are no longer represented by Float, which is now an abstract class, so one must test via isFloat, not foo class == Float
- Characters are immediate
These are pretty minor incompatibilities and provide substantial performance benefits (Spur has a much more efficient GC, and supports a larger heap in 32-bits; Float arithmetic in 64-bits is usually faster and takes less space; WideString access is much faster)