Even we have long silence on the list, someone may continue some effort
to improve kaffe...
For this summer, my SOC (summer of code) was to tackle arm jit3 code.
# Oh, this topic is same as the last summer :-)
Of course, the released version has a workable jit3 code for this arch,
if you think even no 'global registers' are defined ;-<

But while trying to determine why it does not work, I installed qemu for
mips and noticed mips-jit3 also does not work. So actually, I spent long
time to find out why mips code does not work properly.

Still, I can not print 'Hello World' by using the first regression test,
but 'verbosejit' flag (which can be the easiest way to see how many methods
are jit-compiled and executed) tells me so many methods becomes to be able
to be compiled.

I put diff's against official 1.1.8 release (rather than the latest 1.1.9)
on 'http://www.kaffe.org/~inaba/kaffe-1.1.8-0915.patch' and if you are
interested, please see what I did.

There are three fixes I did
1) Trampoline code are modified incorrectly. A guy forgot mips needs
   delayed slot when you call subrouting. I reverted to older version.
2) Conversion routine are modified inproperly. If you need cvtif or
   something, you have to think proper return value register. I reverted
   to older version.
3) When you have exceptions, 'callee saved' registers shall be restored
   from callee method's stack. But original code handles it differently.
   And I have no smarter and generic way to handle this situation for
   the time being, the patched version restored the contents by VERY VERY
   ugly way. I hesitate to put this 'fix' back to the repository and 
   this is the main reason I just let you know on the ML.

Since, 'HelloWorldApp.main' method are jit-compiled by this mod, I hope
we may have only one more bug before we can display the 'Hello World' on
mips with jit3 technology.

Kiyo

_______________________________________________
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to