RFR: Shenandoah critical native support
Zhengyu Gu
zgu at redhat.com
Wed Mar 28 17:54:00 UTC 2018
The implementation is X64 only (Linux and Windows).
It appears that aarch64 never implemented critical native support for
any GC (sharedRuntime_aarch64: check_needs_gc_for_critical_native() {
Unimplemented(); })
The implementation intercepts inbound array arguments and pins them just
before unpacks them. It also reuses oop handle area that is reserved for
GC safepointing GC before entering critical session in default
implementation, it saves register based inbound arguments there, so they
can be found for unpinning after method call.
Webrev:
http://cr.openjdk.java.net/~zgu/shenandoah/sh-critical-natives/webrev.00/index.html
Test:
hotspot_gc_shenandoah
Linux x64: fastdebug and release
Windows: release (really slow running inside Vbox)
Thanks,
-Zhengyu
More information about the shenandoah-dev
mailing list