6939180: Zero locking fix

When Zero is running with Shark enabled threads can be left with their _do_not_unlock_if_synchronized flag incorrectly set.

Reviewed-by: twisti
This commit is contained in:
Gary Benson 2010-03-30 00:57:55 -07:00 committed by Christian Thalinger
parent 67c094c4c7
commit e76823e70b

View file

@ -206,7 +206,6 @@ void CppInterpreter::native_entry(methodOop method, intptr_t UNUSED, TRAPS) {
// Update the invocation counter // Update the invocation counter
if ((UseCompiler || CountCompiledCalls) && !method->is_synchronized()) { if ((UseCompiler || CountCompiledCalls) && !method->is_synchronized()) {
thread->set_do_not_unlock();
InvocationCounter *counter = method->invocation_counter(); InvocationCounter *counter = method->invocation_counter();
counter->increment(); counter->increment();
if (counter->reached_InvocationLimit()) { if (counter->reached_InvocationLimit()) {
@ -215,7 +214,6 @@ void CppInterpreter::native_entry(methodOop method, intptr_t UNUSED, TRAPS) {
if (HAS_PENDING_EXCEPTION) if (HAS_PENDING_EXCEPTION)
goto unwind_and_return; goto unwind_and_return;
} }
thread->clr_do_not_unlock();
} }
// Lock if necessary // Lock if necessary