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