PatchSet 7748 
Date: 2008/02/15 00:06:30
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
statified intToFloat

2008-02-15  Dalibor Topic  <[EMAIL PROTECTED]>

* kaffe/kaffevm/fp.c (intToFloat):  Simplified collapsing of NaNs.
Made function static.

* kaffe/kaffevm/fp.h (FNANBITS, intToFloat): Removed.

Members: 
        ChangeLog:1.5248->1.5249 
        kaffe/kaffevm/fp.c:1.11->1.12 
        kaffe/kaffevm/fp.h:1.7->1.8 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.5248 kaffe/ChangeLog:1.5249
--- kaffe/ChangeLog:1.5248      Fri Feb 15 00:01:16 2008
+++ kaffe/ChangeLog     Fri Feb 15 00:06:30 2008
@@ -1,5 +1,12 @@
 2008-02-15  Dalibor Topic  <[EMAIL PROTECTED]>
 
+       * kaffe/kaffevm/fp.c (intToFloat):  Simplified collapsing of NaNs.
+       Made function static.
+
+       * kaffe/kaffevm/fp.h (FNANBITS, intToFloat): Removed.
+
+2008-02-15  Dalibor Topic  <[EMAIL PROTECTED]>
+
        * kaffe/kaffevm/fp.c (floatAdd, floatSubtract, floatMultiply)
        (floatDivide):  Use KAFFE_JFLOAT_NAN.
 
Index: kaffe/kaffe/kaffevm/fp.c
diff -u kaffe/kaffe/kaffevm/fp.c:1.11 kaffe/kaffe/kaffevm/fp.c:1.12
--- kaffe/kaffe/kaffevm/fp.c:1.11       Fri Feb 15 00:01:19 2008
+++ kaffe/kaffe/kaffevm/fp.c    Fri Feb 15 00:06:31 2008
@@ -88,17 +88,19 @@
 /*
  * Convert int to float.
  */
+static
 float
 intToFloat(jint val)
 {
        jvalue d;
 
-       /* Force all possible NaN values into the canonical NaN value */
-       if ((val & FEXPMASK) == FEXPMASK && (val & FMANMASK) != 0)
-               val = FNANBITS;
-
        /* Convert value */
        d.i = val;
+
+       /* Force all possible NaN values into the canonical NaN value */
+       if (isnan(d.f))
+         return KAFFE_JFLOAT_NAN;
+
        return d.f;
 }
 
Index: kaffe/kaffe/kaffevm/fp.h
diff -u kaffe/kaffe/kaffevm/fp.h:1.7 kaffe/kaffe/kaffevm/fp.h:1.8
--- kaffe/kaffe/kaffevm/fp.h:1.7        Thu Feb 14 23:42:22 2008
+++ kaffe/kaffe/kaffevm/fp.h    Fri Feb 15 00:06:32 2008
@@ -27,7 +27,6 @@
 #define FMANMASK       0x007fffff
 #define FSIGNBIT       0x80000000
 #define FINFBITS       0x7f800000
-#define FNANBITS       0x7fc00000
 
 extern jfloat  floatAdd(jfloat v1, jfloat v2);
 extern jdouble doubleAdd(jdouble v1, jdouble v2);
@@ -40,7 +39,6 @@
 
 extern jlong   doubleToLong(jdouble val);
 extern jint    floatToInt(jfloat val);
-extern float   intToFloat(jint val);
 
 #endif /* __fp_h */
 

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

Reply via email to