diff src/cpu/x86/vm/x86_32.ad @ 1274:2883969d09e7

6910664: C2: java/util/Arrays/Sorting.java fails with DeoptimizeALot flag Summary: Matcher::float_in_double should be true only when FPU is used for floats. Reviewed-by: never, twisti
author kvn
date Fri, 19 Feb 2010 10:04:16 -0800
parents e8443c7be117
children d7f654633cfe
line wrap: on
line diff
--- a/src/cpu/x86/vm/x86_32.ad	Thu Feb 18 15:05:10 2010 -0800
+++ b/src/cpu/x86/vm/x86_32.ad	Fri Feb 19 10:04:16 2010 -0800
@@ -1444,8 +1444,10 @@
 // to implement the UseStrictFP mode.
 const bool Matcher::strict_fp_requires_explicit_rounding = true;
 
-// Do floats take an entire double register or just half?
-const bool Matcher::float_in_double = true;
+// Are floats conerted to double when stored to stack during deoptimization?
+// On x32 it is stored with convertion only when FPU is used for floats.
+bool Matcher::float_in_double() { return (UseSSE == 0); }
+
 // Do ints take an entire long register or just half?
 const bool Matcher::int_in_long = false;