equal
deleted
inserted
replaced
211 TEVENT (fast_exit: release stacklock) ; |
211 TEVENT (fast_exit: release stacklock) ; |
212 return; |
212 return; |
213 } |
213 } |
214 } |
214 } |
215 |
215 |
216 ObjectSynchronizer::inflate(THREAD, object)->exit (THREAD) ; |
216 ObjectSynchronizer::inflate(THREAD, object)->exit (true, THREAD) ; |
217 } |
217 } |
218 |
218 |
219 // ----------------------------------------------------------------------------- |
219 // ----------------------------------------------------------------------------- |
220 // Interpreter/Compiler Slow Case |
220 // Interpreter/Compiler Slow Case |
221 // This routine is used to handle interpreter/compiler slow case |
221 // This routine is used to handle interpreter/compiler slow case |
341 |
341 |
342 ObjectMonitor* monitor = ObjectSynchronizer::inflate(THREAD, obj); |
342 ObjectMonitor* monitor = ObjectSynchronizer::inflate(THREAD, obj); |
343 // If this thread has locked the object, exit the monitor. Note: can't use |
343 // If this thread has locked the object, exit the monitor. Note: can't use |
344 // monitor->check(CHECK); must exit even if an exception is pending. |
344 // monitor->check(CHECK); must exit even if an exception is pending. |
345 if (monitor->check(THREAD)) { |
345 if (monitor->check(THREAD)) { |
346 monitor->exit(THREAD); |
346 monitor->exit(true, THREAD); |
347 } |
347 } |
348 } |
348 } |
349 |
349 |
350 // ----------------------------------------------------------------------------- |
350 // ----------------------------------------------------------------------------- |
351 // Internal VM locks on java objects |
351 // Internal VM locks on java objects |