提交 84c0cbd9 编写于 作者: T twisti

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: NGary Benson <gbenson@redhat.com>
上级 eff3a842
...@@ -206,7 +206,6 @@ void CppInterpreter::native_entry(methodOop method, intptr_t UNUSED, TRAPS) { ...@@ -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) { ...@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册