What is a structured locking in the JVM specification?

陈雨亭 chenyt at cs.sjtu.edu.cn
Wed May 17 21:08:14 UTC 2017

According to the definition, it seems that a structured locking appears
like: Monitorenter r0; …monitorenter r0; …; monitorexit r0; …monitorexit

  * The definition is given as follows: Structured locking is the situation
when, during a method invocation, every exit on a given monitor matches a
preceding entry on that monitor.


I’m a little curious whether a structured locking can be composed by the
following instructions:

Monitorenter r0; monitorenter r2; …; monitorexit r0; monitorexit r2; 


In addition, should this sequence be accepted or rejected? At runtime or
during the verification time?




More information about the csr-discuss mailing list