RFR: 8261397: Try Catch Method Failing to Work When Dividing An Integer By 0 [v7]
David Holmes
dholmes at openjdk.java.net
Mon Feb 22 21:03:45 UTC 2021
On Mon, 22 Feb 2021 19:34:02 GMT, Gerard Ziemski <gziemski at openjdk.org> wrote:
>> On Mac ARM hardware running x86 JDK under Rosetta emulation, a div by 0 instruction causes the VM to crash.
>>
>> The proposed fix (a workaround) for hotspot is to add **FPE_FLTINV** to the signal handler.
>>
>> The actual fix needs to be done in macOS by Apple as the expected signal type here is **FPE_FLTDIV**
>> This issue has been filed with Apple and they are tracking it.
>
> Gerard Ziemski has updated the pull request incrementally with one additional commit since the last revision:
>
> wrap macOS specific code in #ifdef __APPLE__
Hi Gerard,
Thanks for making the changes. I had hoped to completely isolate this to BSD/x86 (with Apple ifdefs) but it seems we are a bit inconsistent in platform management with VM_version code: we have os_cpu .cpp files but only cpu header files! Can't quite see the logic in that. :)
David
-------------
Marked as reviewed by dholmes (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/2615
More information about the hotspot-runtime-dev
mailing list