src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
Print this page
rev 6447 : [mq]: set_has_aborted
*** 2171,2184 ****
return JNI_OK;
}
void G1CollectedHeap::stop() {
! // Abort any ongoing concurrent root region scanning and stop all
! // concurrent threads. We do this to make sure these threads do
! // not continue to execute and access resources (e.g. gclog_or_tty)
! // that are destroyed during shutdown.
_cm->root_regions()->abort();
_cm->root_regions()->wait_until_scan_finished();
stop_conc_gc_threads();
}
--- 2171,2185 ----
return JNI_OK;
}
void G1CollectedHeap::stop() {
! // Abort any ongoing concurrent mark and stop all concurrent threads.
! // We do this to make sure these threads do not continue to execute
! // and access resources (e.g. gclog_or_tty) that are destroyed during
! // shutdown.
! _cm->set_has_aborted();
_cm->root_regions()->abort();
_cm->root_regions()->wait_until_scan_finished();
stop_conc_gc_threads();
}