links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
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)