[kaffe] Re: Re: Re: Kaffe GC performance, Boehm GC issues

Dalibor Topic robilad at kaffe.org
Tue Dec 25 11:18:43 PST 2007


Kiyo Inaba wrote:
> Hi,
> 
>> After submitting several archived tests, I found snap 060803
>> (whose ChangeLog head is "2006-07-27  Guilhem Lavaux  <guilhem at kaffe.org>")
>> works fine with Boehm GC on i386/linux. I will try to use this to test
>> whether arm version of Boehm GC works fine.
> 
> I found it can be extended until major classpath resync on Jan of
> 2007 if I revert the mod for 'kaffe/kaffevm/baseClasses.c'. The change
> made in 'baseClasses.c' (v 1.76) is reorder the invocation of
> initialization (initializeSecurity and initThreads). I have no clear
> idea whether this reorder is really needed or not, but I guess this
> modification should be reverted.

It was needed to make Classpath's java.util.zip implementation work. The 
commit was

2006-08-09  Dalibor Topic  <robilad at kaffe.org>

         Added --disable-native-zip option, which allows to use GNU 
Classpath's
         zip instead of Kaffe's and fixes #11. In addition, fixed #53 
along the
         way.
[snip]
         * kaffe/kaffevm/baseClasses.c (initialiseKaffe) Initialise threads
         before initialising security. Security code can end up calling
         arbitrary java code that tries to access thread local variables,
         for example.
[snip]

Basically, during the initialization of security code, the Classpath zip 
implementation ends up triggering use of thread local variables, and 
that requires that the threading system is already initialized for it to 
work.

> On the other hand, snap 060803 can not be compiled on arm/linux because
> of 'pthread_support.o' does not contain any external symbols and linking
> reports several 'undefined symbol' errors. I guess this is because of
> some (tricky) 'ifdef' in boehm gc package, but I did not found a way
> to fix. Others tackling this is very welcome.

My current results with boehm-gc are a bit across the map (i386-linux, 
boehm-gc 6.8, different compilers, CVS head).

  grep tests build-kaffe-*/check.log | grep 149 | grep boehm
build-kaffe-gcc-3.3-intrp-unix-pthreads-boehm-gc/check.log:1 of 149 
tests failed
build-kaffe-gcc-3.3-jit3-unix-pthreads-boehm-gc/check.log:1 of 149 tests 
failed
build-kaffe-gcc-3.3-jit-unix-pthreads-boehm-gc/check.log:2 of 149 tests 
failed
build-kaffe-gcc-3.4-intrp-unix-pthreads-boehm-gc/check.log:3 of 149 
tests failed
build-kaffe-gcc-3.4-jit3-unix-pthreads-boehm-gc/check.log:All 149 tests 
behaved as expected (2 expected failures)
build-kaffe-gcc-3.4-jit-unix-pthreads-boehm-gc/check.log:1 of 149 tests 
failed
build-kaffe-gcc-4.1-intrp-unix-pthreads-boehm-gc/check.log:1 of 149 
tests failed
build-kaffe-gcc-4.1-jit3-unix-pthreads-boehm-gc/check.log:1 of 149 tests 
failed
build-kaffe-gcc-4.1-jit-unix-pthreads-boehm-gc/check.log:2 of 149 tests 
failed
build-kaffe-gcc-4.2-intrp-unix-pthreads-boehm-gc/check.log:1 of 149 
tests failed
build-kaffe-gcc-4.2-jit3-unix-pthreads-boehm-gc/check.log:1 of 149 tests 
failed
build-kaffe-gcc-4.2-jit-unix-pthreads-boehm-gc/check.log:2 of 149 tests 
failed

cheers,
dalibor topic




More information about the kaffe mailing list