# HG changeset patch # User xlu # Date 1217629094 25200 # Node ID f7e6d42d93233a39f2f4a865ddf189c4471ed0dc # Parent 6f17a7c9f8b486f97ba20bef30474c6ebb1bc939 6618886: Anonymous objects can be destructed immediately and so should not be used Reviewed-by: dholmes, kamg diff -r 6f17a7c9f8b4 -r f7e6d42d9323 src/os/solaris/vm/osThread_solaris.cpp --- a/src/os/solaris/vm/osThread_solaris.cpp Fri Aug 01 15:12:34 2008 -0700 +++ b/src/os/solaris/vm/osThread_solaris.cpp Fri Aug 01 15:18:14 2008 -0700 @@ -69,15 +69,15 @@ static intptr_t compare_and_exchange_current_callback ( intptr_t callback, intptr_t *addr, intptr_t compare_value, Mutex *sync) { if (VM_Version::supports_compare_and_exchange()) { - return Atomic::cmpxchg_ptr(callback, addr, compare_value); + return Atomic::cmpxchg_ptr(callback, addr, compare_value); } else { - MutexLockerEx(sync, Mutex::_no_safepoint_check_flag); - if (*addr == compare_value) { - *addr = callback; - return compare_value; - } else { - return callback; - } + MutexLockerEx ml(sync, Mutex::_no_safepoint_check_flag); + if (*addr == compare_value) { + *addr = callback; + return compare_value; + } else { + return callback; + } } } @@ -86,7 +86,7 @@ if (VM_Version::supports_compare_and_exchange()) { return Atomic::xchg_ptr(callback, addr); } else { - MutexLockerEx(sync, Mutex::_no_safepoint_check_flag); + MutexLockerEx ml(sync, Mutex::_no_safepoint_check_flag); intptr_t cb = *addr; *addr = callback; return cb;