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