119 //------------------------------do_monitor_exit-------------------------------- |
119 //------------------------------do_monitor_exit-------------------------------- |
120 void Parse::do_monitor_exit() { |
120 void Parse::do_monitor_exit() { |
121 kill_dead_locals(); |
121 kill_dead_locals(); |
122 |
122 |
123 pop(); // Pop oop to unlock |
123 pop(); // Pop oop to unlock |
124 // Because monitors are guarenteed paired (else we bail out), we know |
124 // Because monitors are guaranteed paired (else we bail out), we know |
125 // the matching Lock for this Unlock. Hence we know there is no need |
125 // the matching Lock for this Unlock. Hence we know there is no need |
126 // for a null check on Unlock. |
126 // for a null check on Unlock. |
127 shared_unlock(map()->peek_monitor_box(), map()->peek_monitor_obj()); |
127 shared_unlock(map()->peek_monitor_box(), map()->peek_monitor_obj()); |
128 } |
128 } |