comparison src/cpu/x86/vm/c1_LIRGenerator_x86.cpp @ 953:ff1a29907b6c

6855215: Calculation error (NaN) after about 1500 calculations Reviewed-by: kvn
author never
date Mon, 31 Aug 2009 17:07:53 -0700
parents cdb8b7c37ac1
children 7a102acc9f17 148e5441d916
comparison
equal deleted inserted replaced
952:ace8397c8563 953:ff1a29907b6c
825 case vmIntrinsics::_dabs: __ abs (calc_input, calc_result, LIR_OprFact::illegalOpr); break; 825 case vmIntrinsics::_dabs: __ abs (calc_input, calc_result, LIR_OprFact::illegalOpr); break;
826 case vmIntrinsics::_dsqrt: __ sqrt (calc_input, calc_result, LIR_OprFact::illegalOpr); break; 826 case vmIntrinsics::_dsqrt: __ sqrt (calc_input, calc_result, LIR_OprFact::illegalOpr); break;
827 case vmIntrinsics::_dsin: __ sin (calc_input, calc_result, tmp1, tmp2); break; 827 case vmIntrinsics::_dsin: __ sin (calc_input, calc_result, tmp1, tmp2); break;
828 case vmIntrinsics::_dcos: __ cos (calc_input, calc_result, tmp1, tmp2); break; 828 case vmIntrinsics::_dcos: __ cos (calc_input, calc_result, tmp1, tmp2); break;
829 case vmIntrinsics::_dtan: __ tan (calc_input, calc_result, tmp1, tmp2); break; 829 case vmIntrinsics::_dtan: __ tan (calc_input, calc_result, tmp1, tmp2); break;
830 case vmIntrinsics::_dlog: __ log (calc_input, calc_result, LIR_OprFact::illegalOpr); break; 830 case vmIntrinsics::_dlog: __ log (calc_input, calc_result, tmp1); break;
831 case vmIntrinsics::_dlog10: __ log10(calc_input, calc_result, LIR_OprFact::illegalOpr); break; 831 case vmIntrinsics::_dlog10: __ log10(calc_input, calc_result, tmp1); break;
832 default: ShouldNotReachHere(); 832 default: ShouldNotReachHere();
833 } 833 }
834 834
835 if (use_fpu) { 835 if (use_fpu) {
836 __ move(calc_result, x->operand()); 836 __ move(calc_result, x->operand());