RFR: JDK-8320892: AArch64: Restore FPU control state after JNI [v3]
Andreas Woess
aw at openjdk.org
Wed Nov 29 14:29:15 UTC 2023
On Tue, 28 Nov 2023 15:58:04 GMT, Andrew Haley <aph at openjdk.org> wrote:
>> Some buggy libraries corrupt the floating-point control register. Provide something similar to the x86 RestoreMXCSROnJNICalls.
>>
>> I realize that using the x86ish name "RestoreMXCSROnJNICalls" might be a little controversial, but it is a _global_ flag, not a CPU-specific one. And it's clearly intended for this purpose. It might have been better if that flag had been given a better name twentyish years ago, but we can't change it now.
>
> Andrew Haley has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix thinko
src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 4441:
> 4439: bfi(tmp1, zr, 8, 5); // Clear exception-control bits (8-12)
> 4440: eor(tmp2, tmp1, tmp2);
> 4441: cbz(tmp2, OK); // Only reset FPCR if it's wrong
should we maybe do the same in [generate_call_stub](https://github.com/openjdk/jdk/pull/16637/files#diff-9112056f732229b18fec48fb0b20a3fe824de49d0abd41fbdb4202cfe70ad114R266), too (likely faster)?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16851#discussion_r1409364879
More information about the hotspot-dev
mailing list