[kaffe] RE: JamVM on ARM (XScale)

Woloszynski, Charles Charles.woloszynski at innocon.com
Mon Oct 11 05:44:45 PDT 2004

I have heard that floating point emulation in the kernel is *much*
slower than replacing the code with calls to a floating point library.
I thought I saw someone talking about a floating point package that they
used to avoid the kernel traps to get improved performance. 

I am trying to decide bewtween Kaffe and JamVM for our next Xscale
processor project.  Any feedback on why to use over the other?


Charlie Woloszynski
Innovative Concepts Inc.
703-893-2007 x506 
charles.woloszynski at innocon.com
-----Original Message-----
From: Robert Lougher [mailto:rob.lougher at gmail.com] 
Sent: Monday, October 11, 2004 7:46 AM
To: Woloszynski, Charles
Cc: kaffe at kaffe.org
Subject: JamVM on ARM (XScale)


As far as my testing goes, JamVM works fine on little-endian ARM
machines.  I test each new release of JamVM against the latest Classpath
version on an iPAQ (with a PXA250).

The problems that could arise are that I assume floating-point emulation
is enabled in the kernel (affects calling-convention).  I also didn't
realise that there was any big-endian ARMs running Linux. 
However, a simple patch should fix JamVM for BE -- the endian-ness of
doubles are a bit wierd on ARM.  If anbody's interested I can send it to
them (though I can't test it).

I'd also be interested to hear if anybody else has used JamVM on ARM. 
For example, is requiring floating-point emulation in the kernel a
problem?  As I said, the only changes needed is related to the
calling-convention.  JamVM assumes floats are passed in registers. 
I'd need to modify the routine that constructs a native call frame
(JamVM's equivalent to sysdepCallMethod) or use libffi.


More information about the kaffe mailing list