[Bug] [VM] [Linux] VMMaker experience

John M McIntosh johnmci at smalltalkconsulting.com
Sat May 4 07:25:34 UTC 2002


>stuff for that contract just fine.  So, I think my compiler's OK.

3.0.3 has a problem building Squeak, more on that in a bit.

>
>           PROBLEM #1: THE "ClassBulderFix.cs" FILEIN CRASHES MY IMAGE

4855ClassBuilderFix3-2 -- Nathanael Schärli & Andreas Raab -- 23 April 2002
Fixes various problems in both ClassBuilder and the handling of 
obsolete subclasses"

Just sent out in the update stream. so update an image to the current 
level first.

>
>          PROBLEM #2: THE "Path to generated sources" STUFF IS NOT CLEAR.

Tim????

>
>         PROBLEM #3: WHERE SHOULD YOU PUT THE 'build' DIRECTORY?  WHY 
>DID I NEED TO CREATE THIS 'src' LINK?  ARE THESE TWO ISSUES RELATED?

Tim??? again...

>
>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 ...

-- 
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================



More information about the Squeak-dev mailing list