Kaffe 0.8.2 with native threads
Frank Mehnert
Frank.Mehnert at mchp.siemens.de
Thu Mar 6 07:57:09 PST 1997
Hi,
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
instructions?
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