Java floating-point mess

Andrew Haley aph@cambridge.redhat.com
Fri Apr 5 03:13:00 GMT 2002


Zack Weinberg writes:
 > On Thu, Apr 04, 2002 at 06:56:15AM -0500, Robert Dewar wrote:
 > > <<The Java front end has a number of places that assume not only that
 > > the host and target floating point formats are identical, but that
 > > both are IEEE. I've tried to get rid of them, but run afoul of its
 > > not being possible to link real.o into gcjh -- it wants to drag in
 > > most of the back end.
 > > >>
 > > 
 > > Presumably the complaint is about assuming that the host fpt
 > > format is IEEE, the target fpt format presumably MUST be IEEE,
 > > since this is required by Java, no?
 > 
 > Well, the Java front end doesn't appear to take any special care to
 > ensure that SFmode is IEEE single and DFmode double. (We'd have to
 > have a floating point emulator library built into libjava that
 > implemented IEEE fp, to get it right for non-IEEE targets.) But yes,
 > the code I'm looking at right now is only for the host side.
 > 
 > Thinking out loud... The major problem is with gjavah, which wants to
 > read in a .class file and print out things like
 > 
 > const jdouble pi = 3.1415926... ;
 > 
 > which are then going to be interpreted by the C++ compiler -- come to
 > think of it, there is no way to win here on a non-IEEE target.
Right -- Java requires that the target FP format be IEEE. We don't
support Java on non-IEEE targets. We can solve any build problems by
not building Java on hosts that are non-IEEE.
The only issue here is that we won't be able to cross-compile Java on
a VAX or somesuch, isn't it? Or am I missing something here?
Andrew.


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /