[squeak-dev] A update to SystemTracer for getting back to 32 bits
David T. Lewis
lewis at mail.msen.com
Mon Jan 12 21:01:56 UTC 2015
You can use any 6504/6505 image. Just load the tracer from
http://www.squeaksource.com/SystemTracing or from SqueakMap.
To trace an existing 32-bit (format 6504 or 6505) image to 64-bit format:
SystemTracer64 writeImage: 'clone64.image'
To trace an 64-bit (format 68002) image to 32-bit format:
SystemTracer2 writeImage: 'clone32.image'
For a VM to run the 68002 image, you can use
(although it would be better to compile a new one, because I've fixed a
couple things since then).
I did not think to try it earlier, but you might get the same symptoms if
you trace a 32-bit image into 32-bit format. I'm away and can't check it
now, but that might be an easier way to figure out what is going on.
> Hi Dave, give me detailed instructions on what to load (or preferably an
> image ready to go) and I'll fix this.
> Eliot (phone)
> On Jan 12, 2015, at 10:20 AM, "David T. Lewis" <lewis at mail.msen.com>
>>> 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
>>>> image back to 32-bit format, and it worked perfectly with my working
>>>> image that has been in 64-bit format for several months now.
>>>> The resulting 32-bit image must be opened first using an interpreter
>>>> after which it can be run normally with a Cog VM. Tracing should be
>>>> using an interpreter VM.
>>> Why is that?
>> I have not yet figured out why it did not work with Cog. One possibility
>> is that the system is running a jitted method at the time of the trace,
>> and when the new 64-bit image wakes up in the interpreter VM, it is
>> in the middle of that method and the VM does not know what to do with
>> That said, I also tried tracing 64 back to 32 and then running the
>> 32-bit image immediately in Cog. That also did not work, so it may be
>> there is some other issue involved. I am guessing that it might be
>> to the saved start of memory location in the image header, but this is
>> just a guess.
More information about the Squeak-dev