We know that according to the specification, when an exeption is thrown, the
control flow goes to the handler of the exeption. If the  exeption is thrown
in a synchronized block, the VM must do a "monitorexit" operation to release
the lock. But I took a look at some control flow graphs(HIR) created by JIT,
and didn't find any "monitorexit" instructions when an exeption is thrown in
a synchronized block. Could any one tell me when and how the "monitorexit"
operation is done when an exeption is thrown in a synchronized block?

Reply via email to