RFR(M) 8078122 : YMM registers upper 128 bits may get clobbered by a JNI call on windows
kishor.kharbas at intel.com
Thu Sep 1 05:17:04 UTC 2016
I removed the unwanted save and restore of registers in the range XMM6-XMM31 from the x64_64 stubs.
I also removed the #ifdef _WIN64 block from x86.ad file.
Link to the new patch : http://cr.openjdk.java.net/~vdeshpande/8078122/webrev.01/
From: Kharbas, Kishor
Sent: Wednesday, August 24, 2016 6:24 PM
To: Vladimir Kozlov <vladimir.kozlov at oracle.com>; hotspot-compiler-dev at openjdk.java.net
Cc: Kharbas, Kishor <kishor.kharbas at intel.com>
Subject: RE: RFR(M) 8078122 : YMM registers upper 128 bits may get clobbered by a JNI call on windows
Thanks Vladimir for quick feedback.
I will look into the stubs which save the registers in the range XMM6-XMM31. Also the first comment makes perfect sense.
From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
Sent: Wednesday, August 24, 2016 3:08 PM
To: Kharbas, Kishor <kishor.kharbas at intel.com>; hotspot-compiler-dev at openjdk.java.net
Subject: Re: RFR(M) 8078122 : YMM registers upper 128 bits may get clobbered by a JNI call on windows
First, #ifdef _WIN64 is not needed anymore since calling convention is similat to unix now.
Second, I would like you to look more broadly. With this change we don't need to preserve XMM6-XMM31 in our stubs for WIN64. I am not sure that we can remove all #ifdef _WIN64 there but for most of them I think we can do. Please, look.
On 8/24/16 2:40 PM, Kharbas, Kishor wrote:
> Requesting the community to review the patch for
> Webrev : http://cr.openjdk.java.net/~vdeshpande/8078122/webrev.00
> The patch changes the definitions of registers XMM6-XMM31 for WIN64.
> Thank you.
More information about the hotspot-compiler-dev