[Vm-dev] SystemTracing: SystemTracing-dtl.23.mcz

David T. Lewis lewis at mail.msen.com
Mon Dec 12 11:43:46 UTC 2011

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.


More information about the Vm-dev mailing list