RFR : JDK-8067744 : XMM/SSE float register values corrupted by JNI_CreateVM call in JRE 8 (Windows)
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Oct 27 14:19:17 UTC 2016
Looks good.
thanks,
Vladimir
On 10/27/16 4:11 AM, Dmitry Chuyko wrote:
> Now generate_get_cpu_info() preserves full xmm7,8,31 in AVX512 case and lower xmm7,8,15 in non-512 case (touched ones).
>
> Webrev: http://cr.openjdk.java.net/~vlivanov/dchuyko/8067744/webrev.01/
>
> General testing done, and new test passes with the patch on the machine where the bug is reproducible.
>
> Also thanks to Vladimir Ivanov for initial test draft and help with webrev.
>
> -Dmitry
>
> On 10/20/2016 08:25 PM, Vladimir Kozlov wrote:
>> Hi Dmitry,
>>
>> New code does not restore whole 64-bit of xmm7,8,15 in AVX512 case. I think you can totally separate save/restore for
>> these cases.
>>
>> thanks,
>> Vladimir
>>
>> On 10/19/16 4:49 AM, Dmitry Chuyko wrote:
>>> Summary: Few xmm registers saved on stack and restored in
>>> generate_get_cpu_info on Windows, a bit different on 2 detection paths.
>>> New test calls native executable that loads jvm shared library and
>>> checks if some double values are corrupted. The test reproduced the
>>> problem on my machine with current devkit but not on Aurora.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8067744
>>>
>>> Webrev: http://javaweb.us.oracle.com/~dchuyko/webrevs/8067744/webrev.00/
>>>
>>> ...............
>>>
>
More information about the hotspot-compiler-dev
mailing list