diff --git a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp index 8209e7becabfc7f0bb4e559e1ad8953b8df3ebf4..547a13e946cf29e54d93984d59d21191b73bf5cb 100644 --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @@ -2186,6 +2186,12 @@ jint G1CollectedHeap::initialize() { } void G1CollectedHeap::stop() { +#if 0 + // Stopping concurrent worker threads is currently disabled until + // some bugs in concurrent mark has been resolve. Without fixing + // those bugs first we risk haning during VM exit when trying to + // stop these threads. + // 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) @@ -2193,6 +2199,7 @@ void G1CollectedHeap::stop() { _cm->root_regions()->abort(); _cm->root_regions()->wait_until_scan_finished(); stop_conc_gc_threads(); +#endif } size_t G1CollectedHeap::conservative_max_heap_alignment() {