[11u] RFR: 8213845: ARM32: Interpreter doesn't call result handler after native calls

Christoph Göttschkes christoph.goettschkes at microdoc.com
Tue Mar 23 08:49:18 UTC 2021


Hi,

please review this backport of JDK-8213845 to 11u:

Bug: https://bugs.openjdk.java.net/browse/JDK-8213845
Original commit: https://hg.openjdk.java.net/jdk/jdk/rev/2d795829f39f

Webrev: https://cr.openjdk.java.net/~cgo/8213845/webrev.11u.00/

This patch fixes the conversion between C and Java boolean types, which value is
not 0 or 1 in C on aarch32. This also fixes the test case
"runtime/BoolReturn/JNIBooleanTest.java", which is testing this conversion.

The backport is not clean, because in 11u, the arm64 CPU type is still present.
Adjusting the backport was fairly straight forward. Because of the arm64 CPU type,
there are some additional #ifdef present and the changes had to be incoporated
into the arm64 port as well. No additional changes have been made, only slight
adjustments.

I am not able to test the arm64 port, since it doesn't compile anymore and I don't
know if this CPU type is still supported, or if the code remains there because it
is deemed to complicated to remove it.

Tested:
  * Hotspot tier1 on linux aarch32
  * Hotspot tier1 on linux aarch32 with -XX:+VerifyOops and -Xcheck:jni
  * Hotspot tier1 on linux ARMv7-A

Thanks,
Christoph



More information about the jdk-updates-dev mailing list