RFR: Simplify JNI critical support

Roman Kennke rkennke at redhat.com
Wed Sep 21 11:10:37 UTC 2016


This implements Zhengyu's idea to simply pin heap regions that contain
active JNI critical arrays, i.e. those regions would not enter the
collection set.

This makes our JNI critical region handling much simpler. We no longer
have to bail and retry on active critical regions (like other GCs).
Most importantly, we can get rid of the complicated locking dance
between Java threads, the VM thread and GC threads that has plagued us
in the past.

I also added a regression test to verify this is handled correctly,
together with some infrastructure to build & run Shenandoah tests only
by invoking:

make test TEST="hotspot_fast_gc_shenandoah"

http://cr.openjdk.java.net/~rkennke/jni_critical/webrev.00/

Ok to push?

Roman



More information about the shenandoah-dev mailing list