RFR: 8233343: Deprecate -XX:+CriticalJNINatives flag which implements Java…
Martin Doerr
mdoerr at openjdk.java.net
Tue Oct 20 20:58:11 UTC 2020
On Tue, 20 Oct 2020 12:46:29 GMT, Robbin Ehn <rehn 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.
>
> Thanks you @coleenp!
> Looks good, really nice delta of -800 LOC !
Makes sense to me. But I have a couple of remarks/suggestions:
- Object pinning for T_ARRAY on x86 shouldn't be needed any more since we stay in _thread_in_Java
- Transition to _thread_in_native is pointless if we transition to _thread_in_native_trans immediately afterwards
- I think the tests should also run on os.arch=="ppc64" | os.arch=="ppc64le" | os.arch=="s390x", but we should
double-check if they really work
Thanks for taking care of all platforms!
-------------
PR: https://git.openjdk.java.net/jdk/pull/764
More information about the hotspot-dev
mailing list