RFR: 8233343: Deprecate -XX:+CriticalJNINatives flag which implements Java…

Martin Doerr mdoerr at openjdk.java.net
Wed Oct 21 09:58:54 UTC 2020


On Tue, 20 Oct 2020 11:41:17 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

> This change deprecates the -XX:+CriticalJNINatives flag and removes the develop flag -XX:+StressCriticalJNINatives.  See CSR for more details.
> 
> This change also removes the lazy GC lock in the critical native transition, and runs the critical native function as thread_in_Java.  I add a safepoint check at the end of the native function and transition to native and poll again for the safepoint after the function if a safepoint is requested.
> 
> Tested with tier 1-6 (we have a few tests that use this).  And built on linux-x86-open,linux-s390x-open,linux-arm32-debug,linux-ppc64le-debug.

Changes requested by mdoerr (Reviewer).

src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp line 2192:

> 2190: 
> 2191:     // Use that pc we placed in r_return_pc a while back as the current frame anchor.
> 2192:     __ set_last_Java_frame(R1_SP, r_return_pc);

These 2 lines need to get moved before if (!is_critical_native) check.
With this change, the 2 tests have passed with " | os.arch=="ppc64" | os.arch=="ppc64le" | os.arch=="s390x"" added.

-------------

PR: https://git.openjdk.java.net/jdk/pull/764


More information about the hotspot-dev mailing list