hotspot/src/share/vm/runtime/synchronizer.cpp
changeset 18025 b7bcf7497f93
parent 17087 f0b76c4c93a0
child 20282 7f9cbdf89af2
child 22819 f88b9c394e42
equal deleted inserted replaced
18024:f9e300086063 18025:b7bcf7497f93
   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