6939180: Zero locking fix
Summary: When Zero is running with Shark enabled threads can be left with their _do_not_unlock_if_synchronized flag incorrectly set.
Reviewed-by: twisti
Contributed-by: Gary Benson <gbenson@redhat.com>
--- a/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Thu Mar 18 14:31:41 2010 -0700
+++ b/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Tue Mar 30 00:57:55 2010 -0700
@@ -206,7 +206,6 @@
// Update the invocation counter
if ((UseCompiler || CountCompiledCalls) && !method->is_synchronized()) {
- thread->set_do_not_unlock();
InvocationCounter *counter = method->invocation_counter();
counter->increment();
if (counter->reached_InvocationLimit()) {
@@ -215,7 +214,6 @@
if (HAS_PENDING_EXCEPTION)
goto unwind_and_return;
}
- thread->clr_do_not_unlock();
}
// Lock if necessary