--- old/src/cpu/x86/vm/x86_32.ad Fri Feb 19 09:19:04 2010 +++ new/src/cpu/x86/vm/x86_32.ad Fri Feb 19 09:19:04 2010 @@ -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; +// Do floats are conerted to double when stored to stack during deoptimization. +// On x32 it is stored with convertion only when FPU is used (UseSSE == 0). +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;