RFR 8066171: Out of order with Metaspace allocation lock

Coleen Phillimore coleen.phillimore at oracle.com
Wed Dec 3 16:59:58 UTC 2014


Summary: Lock resolved_references instead.

When I took out the constant pool mutex, I thought I could use the 
metaspace to synchronize this code sequence, but the metaspace_lock is 
out of order with the DirtyCardQ_CBL_mon lock that can sometimes be 
taken with obj_at_put() in an object array.   Since there is always a 
resolved_reference objArrayOop attached to this class, we can lock this 
for this cpCache entry.  John and the JSR292 guys tell me that this code 
sequence needs to be locked against multiple setters.

Tested with jdk/test/java/lang/invoke tests, nsk.quick.testlist.

open webrev at http://cr.openjdk.java.net/~coleenp/8066171/
bug link https://bugs.openjdk.java.net/browse/JDK-8066171

Thanks,
Coleen


More information about the hotspot-dev mailing list