On Sat, Dec 31, 2011 at 2:37 PM, Igor Stasenko siguctua@gmail.com wrote:
system tracer writes an image 6404 version while cog uses 6405 i dont remember what is the difference between them, can someone remind me?
You mean 6504 (6502 + 2) and 6505 (6504+1).
6502 = the Squeak V3 format with blue-book BlockContext (but _without_ BlockClosure support). 6504 = the Squeak V3 format with blue-book BlockContext /and/ BlockClosure support. 6505 = the Squeak V3 format with BlockClosure support (but _without_ BlockContext support).
One simple approach is to have the SystemTracer write out an image with the format of the VM. This is Smalltalk vmParameterAt: 41
On 31 December 2011 10:49, Luc Fabresse luc.fabresse@gmail.com wrote:
Hi All,
I am forwarding a message from David (Thanks a lot to him) who pointed
that SystemTracer2 should be run with a non-cog VM otherwize, the generated image is not usable.
Does someone know why? Thanks,
#Luc
---------- Forwarded message ---------- From: David T. Lewis lewis@mail.msen.com Date: 2011/12/30
Actually, I think I just spotted the problem. If I use an interpreter VM to run the system tracer, then load the cloned image with an
interpreter
VM, then save the cloned image, then run it under Cog, it works.
If I use Cog to do the system tracing, the cloned image does not work.
If I use the interpreter VM to trace the image, then run the cloned image under Cog, it does not work.
If I run the same cloned image on an interpreter VM, it works.
After the cloned image has been saved from an interpreter VM, it can be used with Cog.
I do not know the reason for this, but that is what I am seeing.
I am using Linux, but on a Mac you can probably use Ian's unix VM for Mac from http://squeakvm.org/unix/ and see if you get the same results.
Dave
-- Best regards, Igor Stasenko.