< 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 >