6953477: Increase portability and flexibility of building Hotspot

A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.

Reviewed-by: phh, never, coleenp, dholmes
This commit is contained in:
Bob Vandette 2010-08-03 08:13:38 -04:00
parent c45761e2a8
commit b95c7e9523
113 changed files with 1669 additions and 559 deletions

View file

@ -572,7 +572,11 @@ double __ieee754_pow(double x, double y) {
if(hy<0) z = one/z; /* z = (1/|x|) */
if(hx<0) {
if(((ix-0x3ff00000)|yisint)==0) {
#ifdef CAN_USE_NAN_DEFINE
z = NAN;
#else
z = (z-z)/(z-z); /* (-1)**non-int is NaN */
#endif
} else if(yisint==1)
z = -1.0*z; /* (x<0)**odd = -(|x|**odd) */
}
@ -583,7 +587,12 @@ double __ieee754_pow(double x, double y) {
n = (hx>>31)+1;
/* (x<0)**(non-int) is NaN */
if((n|yisint)==0) return (x-x)/(x-x);
if((n|yisint)==0)
#ifdef CAN_USE_NAN_DEFINE
return NAN;
#else
return (x-x)/(x-x);
#endif
s = one; /* s (sign of result -ve**odd) = -1 else = 1 */
if((n|(yisint-1))==0) s = -one;/* (-ve)**(odd int) */