< prev index next >
src/share/vm/runtime/thread.cpp
Print this page
rev 12168 : [mq]: syncbug.patch
@@ -1969,10 +1969,12 @@
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,12 +1982,13 @@
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; t = t->next()) {
+ for (JavaThread* t = Threads::first(); t != NULL; t = t->next()) {
t->set_evacuation_in_progress(in_prog);
}
}
#endif // INCLUDE_ALL_GCS
< prev index next >