[Bug] [VM] [Linux] VMMaker experience

Nevin Pratt nevin at smalltalkpro.com
Sat May 4 16:48:02 UTC 2002


John,

Thanks for the pointer.  Rather than backreving to an earlier compiler, 
I hacked the 'sqUnixConfig.h' file to make it look like the one 
generated with gcc 2.95.3 (i.e., I defined DOUBLE_WORD_ORDER).  Things 
worked...

...except, that now I'm seeing the "Comanche data dribble problem". 
 I'll wait a few days and try this again, per your earlier post where 
you said:

> Yes this issue is being fixed, I"m peering at a broken freebsd VM 
> right now....
> Certainly the issue of dribbles of data has been fixed, so wait a day 
> or so 


Thanks again,

Nevin

*************************************

John M McIntosh wrote:

>>
>> 12. I quit my existing Squeak image, and replace the old 'squeak' VM 
>> with the new one, and try to restart my image.  I get a walkback. The 
>> relevant part of the stack walkback is the following:
>>
>
> I think this is the 3.0.3 gcc issue
>
> See Ned Konz notes in the archives
> At 3:55 PM -0800 3/7/02, Ned Konz wrote:
>
>> Looking further, it may be a config issue; the sqUnixConfig.h file 
>> generated
>> for the two differed as follows:
>>
>> $ diff -c ../sqUnix*
>> *** ../sqUnixConfig.h.2.95.3    Thu Mar  7 15:34:11 2002
>> --- ../sqUnixConfig.h.3.03      Thu Mar  7 15:33:25 2002
>> ***************
>> *** 111,117 ****
>>
>>   /* #undef     WORDS_BIGENDIAN */
>>   /* #undef     DOUBLE_WORD_ALIGNMENT */
>> ! #define       DOUBLE_WORD_ORDER 1
>>
>>   /* damage containment */
>>
>> --- 111,117 ----
>>
>>   /* #undef     WORDS_BIGENDIAN */
>>   /* #undef     DOUBLE_WORD_ALIGNMENT */
>> ! /* #undef     DOUBLE_WORD_ORDER */
>>
>>   /* damage containment */
>>
>> So I tried doing the config for GCC 3.0.3 and then edited the 
>> sqUnixConfig.h
>> file, defining DOUBLE_WORD_ORDER.
>>
>> And guess what? It ran!
>>
>> So I decided to run the tinyBenchmarks:
>>
>> With 2.95.3:
>> 0 tinyBenchmarks
>> '42553191 bytecodes/sec; 1283021 sends/sec'
>>
>> With 3.0.3:
>> '38811400 bytecodes/sec; 1253071 sends/sec'
>>
>> So then I changed the -O2 in the Makefile to -O3 and tried compiling 
>> again.
>> It got a bit faster in the sends/sec but slower in the bytecodes/sec...
>>
>> With 3.0.3, -O3:
>>  '36802760 bytecodes/sec; 1285996 sends/sec'
>>  '37383177 bytecodes/sec; 1285003 sends/sec'
>>
>> Anyway, thought you might be amused.
>
> At 4:36 PM -0800 3/7/02, Ned Konz wrote:
>
>> Oh come on now; it probably just needs someone to tweak the knobs on 
>> the back
>> of the set... (twiddle twiddle)..
>>
>> How's this 3.03 result:
>>
>> 0 tinyBenchmarks
>> '47442550 bytecodes/sec; 1434550 sends/sec'
>> '47761194 bytecodes/sec; 1415033 sends/sec'
>>
>> For reference, 2.95.3 was:
>> '42553191 bytecodes/sec; 1283021 sends/sec'
>> '42356055 bytecodes/sec; 1282033 sends/sec'
>>
>> I used
>> CFLAGS= -I/usr/X11R6/include -g -O3 -DLSB_FIRST=1  -funroll-loops 
>> -fno-gcse
>>
>> Adding the -fno-gcse made quite a bit of difference (27% more
>> bytecodes/second, 11% more sends/sec).
>>
>> So now it's about 12% faster than the 2.95.3 was. Of course, I don't 
>> know
>> what'll happen if you use "-fno-gcse" with the 2.95.3 ...
>
>






More information about the Squeak-dev mailing list