[Vm-dev] Re: [squeak-dev] A update to SystemTracer for getting back to 32 bits

David T. Lewis lewis at mail.msen.com
Fri Jan 16 03:43:09 UTC 2015

On Mon, Jan 12, 2015 at 04:52:32PM +0100, Bert Freudenberg wrote:
> On 12.01.2015, at 01:47, David T. Lewis <lewis at mail.msen.com> wrote:
> > 
> > I made a minor update to the SystemTracer that allows it to convert a 64-bit
> > image back to 32-bit format, and it worked perfectly with my working Squeak
> > image that has been in 64-bit format for several months now.
> Nice!
> >  The resulting 32-bit image must be opened first using an interpreter VM,
> >  after which it can be run normally with a Cog VM. Tracing should be done
> >  using an interpreter VM.
> Why is that?
> - Bert -

The issue was Float word ordering differences in Cog/StackInterpreter. I made
an update to SystemTracer that mostly handles this, the main benefit being
that Cog can now be used to execute a much faster system trace from 32-bit
image to 64-bit 68002 (or the mythical 68003) image, non-Spur:

  Name: SystemTracing-dtl.27
  Time: 15 January 2015, 10:20:22.019 pm
  Allow 32-bit images to be traced to 64-bit using 32-bit Cog VM. Handle float
  word ordering differences between StackInterpreter and Interpreter. Produces
  a runnable 68003 image, 64-bit object format, closures, and Cog float word
  ordering. Requires package ImageFormat from VMMaker repository, else error
  is raised indicating how to hard code a workaround. This seems a reasonable
  dependency given the increasing number of image formats in circulation.
  Trace from 64-bit image to 32-bit still requires an initial load and save
  using an interpreter VM prior to running with Cog, reason unknown.


More information about the Vm-dev mailing list