Kaffe 0.8.2 with native threads

Frank Mehnert Frank.Mehnert at mchp.siemens.de
Thu Mar 6 07:57:09 PST 1997


currently I'm porting kaffe 0.8.2 to Chorus/ClassiX 3.1b. For this
I use Chorus threads for machine independece. Little Programs work
well, but with bigger code I get segmentation faults and it needs
a very long time to find the error.

jBYTEmark runs well without the GC enabled. If I enable GC (normal
or incremented mode) I get a seg fault. Always at the same location.
I've checked the alignment of kaffe structures, all have an
alignment of 4. Compiler is gcc 2.7.2, flags -O.

I have replaced iMux and iCv with own creations (using mutexes and
events from Chorus).

Then have replaced the LOCK/UNLOCK instructions from the GC by
SpinLock/SpinUnlock calls (prevent switching to another thread
while active). Is it enough or isn't the GC threadsave with this

Jigsaw runs a while but then also aborts with an seg fault
(with and without gc).

Simple programs (like test/thread/{T3,T16}) run well.
My target platform is a i486 on Chorus/ClassiX 3.1b.
Mainly I only had to change thread.c and locks.c.

Any ideas?

Frank Mehnert
email: Frank.Mehnert at mchp.siemens.de

More information about the kaffe mailing list