-
Bug
-
Resolution: Fixed
-
P3
-
22
-
b12
-
arm, aarch64, riscv
The template interpreter produces a safepoint check for return bytecodes (TemplateTable::_return(TosState state)) on x86 [1] and other platforms, but not on aarch64, arm, and riscv.
I describe the bug in more detail at https://mostlynerdless.de/blog/2023/07/31/the-inner-workings-of-safepoints/.
[1] https://github.com/openjdk/jdk/blob/5d193193a3a4c519e7b3d77b27e6b2bf1b11c7f9/src/hotspot/cpu/x86/templateTable_x86.cpp#L2562
[2] https://github.com/openjdk/jdk/blob/5d193193a3a4c519e7b3d77b27e6b2bf1b11c7f9/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp#L2174C27-L2174C27
I describe the bug in more detail at https://mostlynerdless.de/blog/2023/07/31/the-inner-workings-of-safepoints/.
[1] https://github.com/openjdk/jdk/blob/5d193193a3a4c519e7b3d77b27e6b2bf1b11c7f9/src/hotspot/cpu/x86/templateTable_x86.cpp#L2562
[2] https://github.com/openjdk/jdk/blob/5d193193a3a4c519e7b3d77b27e6b2bf1b11c7f9/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp#L2174C27-L2174C27