# HG changeset patch # User twisti # Date 1269935875 25200 # Node ID 747d26efc5fa8e99e852e21ef13c77eea48ba4f7 # Parent fdd57634910e3cadb86b19b56a22e75c6de0192c 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 diff -r fdd57634910e -r 747d26efc5fa src/cpu/zero/vm/cppInterpreter_zero.cpp --- a/src/cpu/zero/vm/cppInterpreter_zero.cpp Thu Mar 18 14:31:41 2010 -0700 +++ b/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