[9] RFR(S): 8073670: TypeF::eq and TypeD::eq do not handle NaNs correctly
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Feb 26 18:49:34 UTC 2015
Hi, Zoltan
The test misses copyright header otherwise changes look good.
Please, acknowledge Stefan Anzinger as contributor in changeset. He
identified the problem and proposed original fix.
Thanks,
Vladimir
On 2/26/15 1:32 AM, Zoltán Majó wrote:
> Hi,
>
>
> please review the following patch.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8073670
>
> Problem: The C2 compiler treats different NaN values as equivalent. As a
> result, if there are multiple NaN values used in a single method, those
> values can potentially be folded into a single value. That behavior is
> not consistent with the behavior of C1 and the interpreter that always
> treat different NaN values as different.
>
> Solution: Change TypeF:eq and TypeD:eq to compare NaN values using a
> bitwise comparison (instead of using the g_isnan() function).
>
> Webrev: http://cr.openjdk.java.net/~zmajo/8073670/webrev.00/
>
> Testing: Added compiler/c2/DifferentNaNFoldingTest.java. Test behaves as
> expected if
>
> - executed locally on linux_x64, solaris_sparc, solaris_x64 with/without
> fix
> - executed in JPRT on all architectures targeted by the
> hotspot_compiler_1 target with/without fix
>
> Thank you and best regards,
>
>
> Zoltan
>
More information about the hotspot-compiler-dev
mailing list