Critical JNI and (Shenandoah) pinning questions

Zhengyu Gu zgu at redhat.com
Mon Aug 19 12:06:23 UTC 2019


Hi Ioannis,

 >> Shouldn't the above code be checking if the critical native function 
actually has array parameters? Isn't it pointless to lock the GC when 
there are no array parameters? This would allow GCs that do not support 
object pinning to skip the lock.

If there are no array parameters, there is no point to use 
Get/SetXXXArrayCritical or native critical methods in the first place.


 >> I noticed that the !Universe::heap()->supports_object_pinning() 
check exists only in the x86_64 implementation. Shouldn't it be added to 
the other implementations as well?

Yep. I believe Shenandoah was not supported on x86_32 at the time. I am 
put x86_32 on my todo list.

For aarch64, native critical has yet to be implemented 
(https://bugs.openjdk.java.net/browse/JDK-8200388)


Thanks,

-Zhengyu




On 8/19/19 4:06 AM, Aleksey Shipilev wrote:
> Zhengyu, this is probably a question for you, from Ioannis (cc'ed):
>    https://github.com/LWJGL/lwjgl3/issues/490#issuecomment-522259608
> 


More information about the shenandoah-dev mailing list