src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp

changeset 7470
060cdf93040c
parent 6719
8e20ef014b08
child 7476
c2844108a708
     1.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	Fri Sep 26 17:48:10 2014 -0400
     1.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	Thu Oct 09 15:42:23 2014 +0200
     1.3 @@ -737,7 +737,7 @@
     1.4    // Support for parallelizing survivor space rescan
     1.5    if ((CMSParallelRemarkEnabled && CMSParallelSurvivorRemarkEnabled) || CMSParallelInitialMarkEnabled) {
     1.6      const size_t max_plab_samples =
     1.7 -      ((DefNewGeneration*)_young_gen)->max_survivor_size()/MinTLABSize;
     1.8 +      ((DefNewGeneration*)_young_gen)->max_survivor_size() / plab_sample_minimum_size();
     1.9  
    1.10      _survivor_plab_array  = NEW_C_HEAP_ARRAY(ChunkArray, ParallelGCThreads, mtGC);
    1.11      _survivor_chunk_array = NEW_C_HEAP_ARRAY(HeapWord*, 2*max_plab_samples, mtGC);
    1.12 @@ -795,6 +795,12 @@
    1.13    _inter_sweep_timer.start();  // start of time
    1.14  }
    1.15  
    1.16 +size_t CMSCollector::plab_sample_minimum_size() {
    1.17 +  // The default value of MinTLABSize is 2k, but there is
    1.18 +  // no way to get the default value if the flag has been overridden.
    1.19 +  return MAX2(ThreadLocalAllocBuffer::min_size() * HeapWordSize, 2 * K);
    1.20 +}
    1.21 +
    1.22  const char* ConcurrentMarkSweepGeneration::name() const {
    1.23    return "concurrent mark-sweep generation";
    1.24  }

mercurial