[kaffe] Debugging kaffe/intrp/JIT3
Gerlando Falauto
iurly at writeme.com
Fri Jun 27 05:02:01 PDT 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
More information about the kaffe
mailing list