[kaffe] Re: mipsel/jit3 regression test results
stack at cs.utah.edu
Wed Oct 13 07:55:29 PDT 2004
> On Tue, 2004-10-12 at 11:11, Timothy Stack wrote:
> > To run it manually, you need to do something like the following in
> > sh/bash:
> Magic, thanks!
> Results are:
> Bombed with Illegal Instruction: ControlFlowMethods, ObjectFields,
> PrimitiveArrays, StaticFields, StaticMethodCall, TypeConversion
> Passed: ConstMathMethods, ConstMethods, ParameterizedBitwiseMethods,
> Aborted: ParameterizedMathMethods, ParameterizedMethods
> ...and I got bored waiting for MethodOptimizations to complete.
So, first, I guess I never explained what the purpose of these are...
These tests are basically the baby steps used to test a primordial jitter.
Just running something like 'Hello, World!' in java requires almost a
fully working jitter, so, these tests are for individual operations like
returning constant values, doing simple math, etc...
With that out of the way, the aborted tests are probably due to floating
point use, bad trampolines, and/or a bad sysdep_callmethod. The illegal
instructions are probably bad code or its generating instructions that
aren't supported on your processor. Unfortunately, I don't have a sense
why MethodOptimizations would loop...
If you want to start fixing things, you'll want to try to get xdebugging
working (see FAQ.xdebugging) so you can use gdb to disassemble/set
breakpoints on the generated code.
> That was without libffi. With libffi, the differences were:
> ConstMethods failed instead of passed.
> ParameterizedMethods failed instead of aborted.
> StaticMethodCall crashed the box :)
Um, well, that isn't good... ;) You might as well avoid libffi for now
and try to fix it after the rest of the jitter is working.
More information about the kaffe