Mercurial > hg > truffle
comparison src/cpu/x86/vm/x86_64.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 | 97125851f396 |
children | d7f654633cfe |
comparison
equal
deleted
inserted
replaced
1273:877a14af58e1 | 1274:2883969d09e7 |
---|---|
2072 | 2072 |
2073 // Advertise here if the CPU requires explicit rounding operations to | 2073 // Advertise here if the CPU requires explicit rounding operations to |
2074 // implement the UseStrictFP mode. | 2074 // implement the UseStrictFP mode. |
2075 const bool Matcher::strict_fp_requires_explicit_rounding = true; | 2075 const bool Matcher::strict_fp_requires_explicit_rounding = true; |
2076 | 2076 |
2077 // Do floats take an entire double register or just half? | 2077 // Are floats conerted to double when stored to stack during deoptimization? |
2078 const bool Matcher::float_in_double = true; | 2078 // On x64 it is stored without convertion so we can use normal access. |
2079 bool Matcher::float_in_double() { return false; } | |
2080 | |
2079 // Do ints take an entire long register or just half? | 2081 // Do ints take an entire long register or just half? |
2080 const bool Matcher::int_in_long = true; | 2082 const bool Matcher::int_in_long = true; |
2081 | 2083 |
2082 // Return whether or not this register is ever used as an argument. | 2084 // Return whether or not this register is ever used as an argument. |
2083 // This function is used on startup to build the trampoline stubs in | 2085 // This function is used on startup to build the trampoline stubs in |