< prev index next >

src/share/vm/runtime/thread.cpp

Print this page
rev 12168 : [mq]: syncbug.patch

*** 1969,1978 **** --- 1969,1980 ---- DirtyCardQueue& dirty_queue = dirty_card_queue(); // The dirty card queue should have been constructed with its // active field set to true. assert(dirty_queue.is_active(), "dirty card queue should be active"); + + _evacuation_in_progress = _evacuation_in_progress_global; } bool JavaThread::evacuation_in_progress() const { return _evacuation_in_progress; }
*** 1980,1991 **** void JavaThread::set_evacuation_in_progress(bool in_prog) { _evacuation_in_progress = in_prog; } void JavaThread::set_evacuation_in_progress_all_threads(bool in_prog) { _evacuation_in_progress_global = in_prog; ! for (JavaThread* t = Threads::first(); t; t = t->next()) { t->set_evacuation_in_progress(in_prog); } } #endif // INCLUDE_ALL_GCS --- 1982,1994 ---- void JavaThread::set_evacuation_in_progress(bool in_prog) { _evacuation_in_progress = in_prog; } void JavaThread::set_evacuation_in_progress_all_threads(bool in_prog) { + assert(Threads_lock->owned_by_self(), "must hold Threads_lock"); _evacuation_in_progress_global = in_prog; ! for (JavaThread* t = Threads::first(); t != NULL; t = t->next()) { t->set_evacuation_in_progress(in_prog); } } #endif // INCLUDE_ALL_GCS
< prev index next >