I've loaded VMMaker into a new Pharo image and it produces an interpreter that I can successfully compile. After loading VMMaker, ObjectMemory baseHeaderSize is nil as expected: BaseHeaderSize and BytesPerWord are initialized through #initializeWithBytesToWord:, which is called by #generateInterpreterFile. Hence, both variables are nil until VMMaker is run the first time. Cheers, Adrian On Feb 21, 2010, at 17:20 , David T. Lewis wrote:
On Sun, Feb 21, 2010 at 01:19:36AM +0100, Levente Uzonyi wrote:
On Sat, 20 Feb 2010, John M McIntosh wrote:
So I think the current VMMaker build process is broken?
In Squeak I get the expected line (using SlangBrowser and VMMaker-ar.158): addrSize = interpreterProxy->byteSizeOf((oopForPointer( socketAddress ) - 4));
So I guess it's a Pharo issue.
It is definitely Pharo-related, but I can't quite spot the source of the problem.
In a Pharo image:
ObjectMemory baseHeaderSize ==> nil ObjectMemory bytesPerWord ==> nil
That is the reason for the incorrect code generation.
If you evaluate this, the object memory constants will be set up properly:
ObjectMemory initializeWithBytesToWord: Smalltalk wordSize
At that point, I expect that the code generation problem will be probably be fixed.
What I can't figure out is why this is not being initialized properly in a Pharo image. I'm fumbling my way through this with a borrowed computer (out of town this weekend, forgot to bring my laptop) and limited expertise with Pharo, so maybe someone can figure it out from the above clues.
HTH, Dave
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project