| 
      
      
      From: Tomasz J. <to...@je...> - 2004-06-02 18:38:39
      
     | 
| Tomasz Jerzykowski wrote:
> Gwenole Beauchesne wrote:
> 
>>> I haven't measured how much faster is the newest version, but it still
>>> suffers from some strange 'stops'.
>>
>>
>>
>> I have noticed that on AMD64 with gcc 3.3.2 too when experimenting 
>> with the asm based locking code. I will probably try other 
>> alternatives. In Unix/sysdeps.h, could you try to disable 
>> HAVE_TEST_AND_SET for i386 and rebuild at least main_unix.cpp and 
>> video_x.cpp?
>>
> 
> It did the trick. Now SheepShaver rums smoothly and reasonably fast, 
> especially when color depth of the host display is set to 16 bit (32 bit 
> is somehow slower). This trick doesn't work on the latest CVS version 
> (compilation fails after modification).
> 
Let me follow my old thread. This is how SheepShaver CVS doesn't compile 
when HAVE_TEST_AND_SET is commented out (tested serveral days ago):
=========================
c++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I.
-DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/local/share/SheepShaver\" -g
-O2  -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2
-I/usr/lib/glib/include -I/usr/X11R6/include
-c ../kpx_cpu/src/cpu/jit/cxxdemangle.cpp -o obj/cxxdemangle.o
c++ -o dyngen   obj/dyngen.o obj/cxxdemangle.o
./dyngen -o basic-dyngen-ops.hpp obj/basic-dyngen-ops.o
c++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I.
-DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/local/share/SheepShaver\" -g
-O2  -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2
-I/usr/lib/glib/include -I/usr/X11R6/include
-c ../kpx_cpu/src/cpu/jit/basic-dyngen.cpp -o obj/basic-dyngen.o
c++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I.
-DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/local/share/SheepShaver\" -g
-O2  -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2
-I/usr/lib/glib/include -I/usr/X11R6/include  -fomit-frame-pointer
-mpreferred-stack-boundary=2 -falign-functions=0 -mmmx -msse -msse2
-finline-limit=10000 -fno-reorder-blocks -fno-optimize-sibling-calls
-c ../kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp -o obj/ppc-dyngen-ops.o
In file included from ../kpx_cpu/src/cpu/ppc/ppc-registers.hpp:151,
                  from ../kpx_cpu/src/cpu/ppc/ppc-cpu.hpp:31,
                  from ../kpx_cpu/src/cpu/ppc/ppc-dyngen-ops.cpp:25:
../kpx_cpu/src/cpu/spcflags.hpp:39: error: 'spinlock_t' is used as a 
type, but
    is not defined as a type.
../kpx_cpu/src/cpu/spcflags.hpp: In constructor `
    basic_spcflags::basic_spcflags()':
../kpx_cpu/src/cpu/spcflags.hpp:44: error: class `basic_spcflags' does not
have
    any field named `lock'
../kpx_cpu/src/cpu/spcflags.hpp:44: error: `SPIN_LOCK_UNLOCKED' undeclared
    (first use this function)
../kpx_cpu/src/cpu/spcflags.hpp:44: error: (Each undeclared identifier is
    reported only once for each function it appears in.)
../kpx_cpu/src/cpu/spcflags.hpp: In member function `void
    basic_spcflags::init(unsigned int)':
../kpx_cpu/src/cpu/spcflags.hpp:54: error: `lock' undeclared (first use this
    function)
../kpx_cpu/src/cpu/spcflags.hpp:54: error: `spin_lock' undeclared (first use
    this function)
../kpx_cpu/src/cpu/spcflags.hpp:54: error: `spin_unlock' undeclared 
(first use
    this function)
../kpx_cpu/src/cpu/spcflags.hpp: In member function `void
    basic_spcflags::set(unsigned int)':
../kpx_cpu/src/cpu/spcflags.hpp:60: error: `spin_lock' undeclared (first use
    this function)
../kpx_cpu/src/cpu/spcflags.hpp:60: error: `spin_unlock' undeclared 
(first use
    this function)
../kpx_cpu/src/cpu/spcflags.hpp: In member function `void
    basic_spcflags::clear(unsigned int)':
../kpx_cpu/src/cpu/spcflags.hpp:63: error: `spin_lock' undeclared (first use
    this function)
../kpx_cpu/src/cpu/spcflags.hpp:63: error: `spin_unlock' undeclared 
(first use
    this function)
make: *** [obj/ppc-dyngen-ops.o] Error 1
=========================
Jerzu
 |