comparison src/share/vm/runtime/thread.cpp @ 979:87770dcf831b

6876794: 4/4 sp07t002 hangs very intermittently Summary: remove over locking by VMThread on "is thread suspended?" check Reviewed-by: dholmes, acorn, andrew
author dcubed
date Tue, 22 Sep 2009 21:12:37 -0600
parents bd02caa94611
children 46b819ba120b
comparison
equal deleted inserted replaced
978:d72ba3205918 979:87770dcf831b
1940 (is_Java_thread() && !((JavaThread*)this)->has_last_Java_frame()), 1940 (is_Java_thread() && !((JavaThread*)this)->has_last_Java_frame()),
1941 "must have walkable stack"); 1941 "must have walkable stack");
1942 1942
1943 MutexLockerEx ml(SR_lock(), Mutex::_no_safepoint_check_flag); 1943 MutexLockerEx ml(SR_lock(), Mutex::_no_safepoint_check_flag);
1944 1944
1945 assert(!this->is_any_suspended(), 1945 assert(!this->is_ext_suspended(),
1946 "a thread trying to self-suspend should not already be suspended"); 1946 "a thread trying to self-suspend should not already be suspended");
1947 1947
1948 if (this->is_suspend_equivalent()) { 1948 if (this->is_suspend_equivalent()) {
1949 // If we are self-suspending as a result of the lifting of a 1949 // If we are self-suspending as a result of the lifting of a
1950 // suspend equivalent condition, then the suspend_equivalent 1950 // suspend equivalent condition, then the suspend_equivalent