excllent I will add that in the class comments.
Stef
On Dec 12, 2011, at 12:43 PM, David T. Lewis wrote:
On Mon, Dec 12, 2011 at 08:18:41AM +0100, stephane ducasse wrote:
Thanks I committed it.
Thanks, next time I will do it myself :)
Now I have a question
SystemTracer64 is to run on 64
How do I say to SystemTracer or SystemTracer2 that I want to convert or not to 64 bits? Because I thought (stupidly) that SystemTracer2 was for 32->32
No, you are correct. SystemTracer2 is for 32->32. SystemTracer is the original version, which IMO is useful for education to understand how these things work, but is not useful with current images.
SystemTracer64 is for converting an existing (32-bit format) image to the experimental 64-bit object format. It is a subclass of SystemTracer2 with methods for converting headers, oops, and fields from the normal 32-bit format to the 64-bit format.
This is sometimes confusing, because people may assume that a 64-bit image is for 64-bit platforms, but actually it is only about the internal data formats. You can run a 32-bit image on a 64-bit platform, so for example there is no reason that you could not run a 64-bit image on a 32-bit Cog VM (this would require some development in the oscog VMMaker but no reason it cannot be done). I say this because people may assume that 32-bit Cog could not be used for 64-bit images, but this is not really true.
If you invent a new object format (as I expect that Eliot will do), then you might create a new subclass of SystemTracer2 that would know how to convert to that format.
Dave