[kaffe] Debugging kaffe/intrp/JIT3

Gerlando Falauto iurly@writeme.com
Fri Jun 27 05:02:01 2003


Hi guys,

thanks to Tim Stacks' testing framework for the basic JIT, I finally
managed to port JIT3 to my beloved VLIW platform. Getting Hello World to
work was still a tough challenge, with the stack unwinding and all, I
don't even wanna think what it would have been like, hadn't I had those
small tests! So thanks a lot Tim, I owe you one!

But still, a whole half of the regression tests does fail (actually most
in both intrp and jit3 mode). So I am trying to get them to pass, 
especially the not-so-fancy ones, and I am looking for suggestions on how 
to proceed. So here's my questions for the day:

a) SPEEDING UP INITIALIZATION
I am working on a *SLOOOOOOOOWWWW* simulated environment, meaning 
HelloWorldApp takes about 5 minutes to run. What are the most expensive 
(optional) initialization steps and how can I speed them up? I tried 
unpacking rt.jar and removing the trailing '/rt.jar' from the CLASSPATH, 
but that breaks everything down, even on i386. If there's anything I can 
disable to make it run even a little faster, please tell me!

b) DEBUGGING
Any suggestions on how to go for debugging? I don't know much about 
the java libraries, so even browsing through the .java files might get 
very time-consuming. 

c) SIGNAL HANDLERS
How can I disable the installation of signal handlers? I am not
really confident that all those advanced features are implemented
correctly by my system libraries, so perhaps sticking to traditional
execution flow might help finding bugs in my code.

d) THREADS
How can I learn more about jthreads vs pthreads? If I got it right, 
jthreads perform a context-switch during I/O, so a working select() 
implementation is required. How can I test if that's the case?
Someone said pthreads can only work under Linux/i386, is there a 
particular reason for that? Is there any test available for probing a 
specific pthreads implementation's features?

Thanks a lot folks!
Gerlando