[kaffe] JIT1 & JIT3 on m68k platform (AmigaOS)

Tony Wyatt wyattaw@optushome.com.au
Thu May 1 04:08:01 2003


Hi all,

I've come to a fork in the road, and I'm starting to tire, so I thought I'd
ask for some advice from those who've been here before.

I've been developing the Amiga m68k port of kaffe for the last 6 months and
I've got to this stage (this is the 1.0.7 version, not up to date with CVS):

Interpreter: now runs reasonably well, fails only ~9 tests/115. Very slow.

JIT1:    runs faster, but floating point does not give correct results. Some
results are correct, some are zero. All integer results are correct.
Compiled classes are shorter than "known good" classes, so something is
being left out. Good compilation of "DoublePrint" is 2248 bytes, my kaffe
creates a class file of 2178 bytes. Fails ~19/115 tests, mainly floating point.

JIT3:    does not run. Traps out with Illegal or EMT instruction traps. It
appears to be calling functions at null addresses. The instruction sequence
to call a function at a pointer within a structure is not tested for Null
Pointer, so the CPU cheerfully tries to jsr to address 0x0 and crashes.

So the question is, do I try to advance the JIT or the JIT3 version? Has
anyone any knowledge about recent patches to the JIT or JIT3 affecting these
problems? I've been through the CVS, but I don't think any of the recent 
changes would affect my problems.

If I can't make a quantum advance soon, I think I'll give up the m68k and
wait for my PPC AmigaOne hardware.

cheers

tony