comparison src/share/vm/runtime/mutexLocker.cpp @ 1656:4e5661ba9d98

6944166: G1: explicit GCs are not always handled correctly Summary: G1 was not handling explicit GCs correctly in many ways. It does now. See the CR for the list of improvements contained in this changeset. Reviewed-by: iveresov, ysr, johnc
author tonyp
date Mon, 28 Jun 2010 14:13:17 -0400
parents b812ff5abc73
children f95d63e2154a
comparison
equal deleted inserted replaced
1655:e7ec8cd4dd8a 1656:4e5661ba9d98
157 157
158 def(CGC_lock , Monitor, special, true ); // coordinate between fore- and background GC 158 def(CGC_lock , Monitor, special, true ); // coordinate between fore- and background GC
159 def(STS_init_lock , Mutex, leaf, true ); 159 def(STS_init_lock , Mutex, leaf, true );
160 if (UseConcMarkSweepGC) { 160 if (UseConcMarkSweepGC) {
161 def(iCMS_lock , Monitor, special, true ); // CMS incremental mode start/stop notification 161 def(iCMS_lock , Monitor, special, true ); // CMS incremental mode start/stop notification
162 }
163 if (UseConcMarkSweepGC || UseG1GC) {
162 def(FullGCCount_lock , Monitor, leaf, true ); // in support of ExplicitGCInvokesConcurrent 164 def(FullGCCount_lock , Monitor, leaf, true ); // in support of ExplicitGCInvokesConcurrent
163 } 165 }
164 if (UseG1GC) { 166 if (UseG1GC) {
165 def(CMark_lock , Monitor, nonleaf, true ); // coordinate concurrent mark thread 167 def(CMark_lock , Monitor, nonleaf, true ); // coordinate concurrent mark thread
166 def(ZF_mon , Monitor, leaf, true ); 168 def(ZF_mon , Monitor, leaf, true );