-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Hi,
One document that I've found interesting is :
http://wiki.squeak.org/squeak/769
"FAQ: How can I bootstrap a Squeak image?"
It discusses technologies that I'm personally NOT familiar with such as KernelImage and SystemTracer.
This is not really an answer to your question but the subject is similar, namely how to build or convert an image.
As to Tim Rowledge answer to check out Spur32to64BitImageConverter, this is probably a much better answer.
Regards, David Stes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
According to http://wiki.squeak.org/squeak/2315 using the package from http://www.squeaksource.com/SystemTracing an old (but potentially interesting) method would be :
SystemTracer64 writeImage: 'clone-64bit.image'
et voila ... image cloned to a 64bit image.
In practice it may be a little bit more complex.
For example I open Squeak4.6-15102.image, then fileIn the SystemTracing package (Monticello) that works.
Loading SystemTracingV3-dtl.29.mcz works
It has an interesting looking script : traceTo64Script
"This is a script that can be filed into a 32bit image to trace that image to 64bit format ..."
But the above method creates for me the error
Tracing and writing 421965 objects ... MessageNotUnderstood:isCompiledCode
If you manage to do this, I'd be interested in your experiences.
David Stes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
When I use an older version of the SystemTracing package, it is fast, and it converts from 32bit to 64bit, so it works !
In my case for Squeak4.6-15102.image I used SystemTracing-dtl.21.mcz instead of the latest SystemTracing-dtl.29.mcz. The 21 version seems to be OK.
It's very fast and says after a few seconds: "Done tracing!"
I'm impressed:
$ ckformat test-64bit.image 68002
it effectively seems to clone the
$ ckformat test.image 6505
to a 64bit format image.
Unfortunately when I open the 68002 image, it works, the image opens, but it seems it's still displaying the "Tracing and writing" message.
I think I probably have to follow the SystemTracing instructions to do this without first filing in the package ...
David Stes
Hi David,
thanks for the info. I suppose that converting non-Spur 32-bit to Spur 64-bit would be a little bit more tricky. At least there are no 64-bit VMs for the pre-Spur (e.g. V3) object format on Windows. Also, I think, converting pre-Spur to Spur requires in-image changes such as to Character, which is then immediate.
Best, Marcel Am 22.04.2021 18:02:23 schrieb stes@PANDORA.BE stes@telenet.be:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
When I use an older version of the SystemTracing package, it is fast, and it converts from 32bit to 64bit, so it works !
In my case for Squeak4.6-15102.image I used SystemTracing-dtl.21.mcz instead of the latest SystemTracing-dtl.29.mcz. The 21 version seems to be OK.
It's very fast and says after a few seconds: "Done tracing!"
I'm impressed:
$ ckformat test-64bit.image 68002
it effectively seems to clone the
$ ckformat test.image 6505
to a 64bit format image.
Unfortunately when I open the 68002 image, it works, the image opens, but it seems it's still displaying the "Tracing and writing" message.
I think I probably have to follow the SystemTracing instructions to do this without first filing in the package ...
David Stes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Hi Marcel,
The reference in http://wiki.squeak.org/squeak/2315 (last paragraph), I read the info in the "The Interactive Programming Environment" red book, by Adele Goldberg: it says in 23.4 page 487
"To initiate the VMem-write, evaluate the expression SystemTracer writeClone"
Anyway I have not yet been succesful in running converted 64bit images, but if you have done it, I'd be interested in this.
Also the above SystemTracer writeClone which according to the red book, worked in old Smalltalk systems, does not work for me nowadays.
I get the error: SmalltalkImage allBehaviorsDo: message not understood. in Squeak4.6.
In Squeak6.0 with the Cog VM I get a subscript out of bounds in clamp:
I think writeClone and clamp: are messages from the SystemTracer package.
David Stes
10 Years back Dan provided a system tracer to convert Squeak images from 32 bit PowerPC to 64 bit intel. I recall spending a few days resolving an issue where the floating point endian wasn’t correct for some FP situations. So check the archives for a post from him with regard to 64 bit. I also built a number of vm variations, perhaps an image from there is useful? ftp://smalltalkconsulting.com/experimental/64bit/
Sent from ProtonMail for iOS
On Fri, Apr 23, 2021 at 22:50, stes@PANDORA.BE stes@telenet.be wrote:
Hi Marcel,
The reference in http://wiki.squeak.org/squeak/2315 (last paragraph), I read the info in the "The Interactive Programming Environment" red book, by Adele Goldberg: it says in 23.4 page 487
"To initiate the VMem-write, evaluate the expression
SystemTracer writeClone"
Anyway I have not yet been succesful in running converted 64bit images, but if you have done it, I'd be interested in this.
Also the above SystemTracer writeClone which according to the red book, worked in old Smalltalk systems, does not work for me nowadays.
I get the error: SmalltalkImage allBehaviorsDo: message not understood. in Squeak4.6.
In Squeak6.0 with the Cog VM I get a subscript out of bounds in clamp:
I think writeClone and clamp: are messages from the SystemTracer package.
David Stes
vm-dev@lists.squeakfoundation.org