Building a VM: the adventure continues

Sungjin Chun chunsj at embian.com
Sun Aug 21 12:15:08 UTC 2005


Hi, this maybe off topic, but I cannot help but to ask this;

The VM in SVN is faster that 3.7-7(unix VM)?

I'm just curious and if it's faster I will also try to build new  
one. :-)

Thanks.

On Aug 21, 2005, at 3:00 PM, David T. Lewis wrote:

> Ross,
>
> I've seen this a few times before but have not tracked down the
> root cause. Try telling VMMaker to put the sources in <whatever>.src
> rather than <whatever>.src32. Then run configure and make, and see
> if things work better.
>
> It's not your compiler, it's just some configuration glitch.
>
> Dave
>
> On Sat, Aug 20, 2005 at 07:13:55PM -0700, Ross Boylan wrote:
>
>> This time I tried building with the 2 patches David Lewis supplied.
>> This time I got through all the steps in squeak/VMMaker to make the
>> sources.  As soon as I tried to build them the build failed.
>>
>> My system has gone to gcc 4.0 as the default compiler, and I  
>> suspect it
>> is being stricter than 3.3, which I was using before.  On the other
>> hand, there was some speculation that the problems were caused by  
>> gcc,
>> so a newer version might help there.
>>
>> 0. get current svn sources, which are now v 1242
>> 1. base Squeak3.8-665
>> 2. load VMMaker-tpr.37. save.
>> 3. load JMMGCMonitor.4.cs. save.
>> 4. VMM38-gc-instrument-image.1.cs. save.
>> 5. VMM38-64bit-imageUpdates.1.cs. save.
>> 6. open VMMaker. make all internal plugins.
>>    leave "64 bit VM?" unchecked!
>>    save vmmaker.config from VMMaker.
>> 7. generate entire
>>
>> Then I applied the two patches provided by David in his July 24  
>> message:
>> $ patch platforms/Cross/vm/sqMemoryAccess.h sqMemoryAccess.h.diff
>> patching file platforms/Cross/vm/sqMemoryAccess.h
>> $ patch platforms/unix/vm/sqUnixExternalPrims.c  
>> sqUnixExternalPrims.c.diff
>> patching file platforms/unix/vm/sqUnixExternalPrims.c
>>
>> (I used patches rather than the whole files he supplied in case  
>> there had been subsequent changes).
>>
>> ross at iron:/usr/local/src/squeak$ mkdir bld
>> ross at iron:/usr/local/src/squeak$ cd bld
>> ross at iron:/usr/local/src/squeak/bld$ ../platforms/unix/config/ 
>> configure --prefix=/usr/local/src/playpen
>> and finally, make.  Here's a sampling of the log
>>
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:25:3:  
>> warning: #warning
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:26:3:  
>> warning: #warning ***************************************************
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:27:3:  
>> warning: #warning *
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:28:3:  
>> warning: #warning * interp.h not found -- defaulting to a 32-bit VM
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:29:3:  
>> warning: #warning *
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:30:3:  
>> warning: #warning * update your image-side VM sources to the latest
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:31:3:  
>> warning: #warning * version to avoid this message
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:32:3:  
>> warning: #warning *
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:33:3:  
>> warning: #warning ***************************************************
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:34:3:  
>> warning: #warning
>> gnu-interp.c:12:1: warning: "byteAt" redefined
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:116:1:  
>> warning: this is the location of the previous definition
>> gnu-interp.c:13:1: warning: "byteAtput" redefined
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:117:1:  
>> warning: this is the location of the previous definition
>> gnu-interp.c:14:1: warning: "longAt" redefined
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:122:1:  
>> warning: this is the location of the previous definition
>> gnu-interp.c:15:1: warning: "longAtput" redefined
>> /usr/local/src/squeak/platforms/Cross/vm/sqMemoryAccess.h:123:1:  
>> warning: this is the location of the previous definition
>> gnu-interp.c:738: error: syntax error before 'const'
>> gnu-interp.c:739: warning: initialization makes integer from  
>> pointer without a cast
>> [many like that]
>>
>> This is probably what stopped it:
>> gnu-interp.c:738: error: syntax error before 'const'
>>
>> The offending line is
>> fptr const primitiveTable[] = {
>>
>>
>> I'm doing this on a faster machine now, so I can get nowhere with  
>> much greater speed :)
>>
>> I'm guessing I'm still suffering from version mismatch.
>>
>> Ross Boylan
>>
>>
>>
>>
>
>




More information about the Squeak-dev mailing list