Mercurial > hg > truffle
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 ); |