On Thu, Aug 04, 2005 at 10:47:23PM -0700, John M McIntosh wrote:
Ah, well Ian was making changes to code that VMMaker manages, Andreas was making changes, and I was making changes. (Let alone Tim) These where all combined into various versions of VMMaker.tpr.xx as official combined (somewhat tested) sync points into various versions of the official images. So by working with Ian's private ./dist3 image you worked with an image out of sync with the VM that contained things the Image cared about.
I'll note the official image only seems to look at wordSize for deciding if it should build a 32 versus 64 bit VM in VMMaker So what does the ./dist3 image use wordSize for?
It's used in CompiledMethod>>initialPC, which is:
initialPC "Answer the program counter for the receiver's first bytecode."
^ (self numLiterals + 1) * Smalltalk wordSize + 1
There are other image side changes as well in Dan's image side updates. They are available on the "64 bit Unix Squeak" web site http://squeak.hpl.hp.com/squeak64/, which says that they are a required part of 64 bit Squeak.
Since the image side changes are required for 64 bit Squeak, and also work for 32 bit Squeak, I guess I just assumed that the vm-dev folks were all using them.
It sounds like somebody needs to "adopt" Dan's change sets and either get them into the mainstream images, or maintain them as a SqueakMap package until they are incorporated in the image. And also of course to make that one small change to SystemDictionary>>wordSize to bring it back into sync with the more recent VMMaker code.
I'm attaching the trival change just so it does not get lost, with CC to Dan and Ian.
Dave