RFR: 8214784: Adjust Dictionary and JNIHandle verification

Per Liden per.liden at oracle.com
Tue Dec 4 12:53:48 UTC 2018


Dictionary::verify() and JNIHandles::verify() currently do verification 
that is unnecessary and incorrect. It currently calls oopDesc::verify(), 
which not only checks the oop, but also steps out into the heap to 
verify the actual object and its fields. This is unnecessary because 
this is already taken care of by CollectedHeap::verify(). It's also 
incorrect, because when stepping out into the heap you need to ahead to 
various Barrier/GC restrictions, which the code currently doesn't do. To 
fix this, the verification done in Dictionary::verify() and 
JNIHandles::verify() should only check the oop, not the object and its 
fields.

In this patch, I'm also cleaning out a ZGC specific check in the JNI 
verification, which skipped verification of JNI weaks. This check is no 
longer needed after JDK-8212921.

Bug: https://bugs.openjdk.java.net/browse/JDK-8214784
Webrev: http://cr.openjdk.java.net/~pliden/8214784/webrev.0

/Per


More information about the hotspot-runtime-dev mailing list