RFR: 8261397: Try Catch Method Failing to Work When Dividing An Integer By 0 [v4]
David Holmes
dholmes at openjdk.java.net
Mon Feb 22 04:18:56 UTC 2021
On Fri, 19 Feb 2021 17:54:13 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:
>
> check whether the process is translated
Hi Gerard,
The new VM_Version check should be in vm_version_bsd_x86.cpp so that we don't need to ifdef the code in the generic x86 file.
I don't think we need make is_cpu_emulated available on all platforms, jusyt bsd-x86.
Thanks,
David
-------------
Changes requested by dholmes (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/2615
More information about the hotspot-runtime-dev
mailing list