comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp @ 1289:d47555d7aca8

6910182: CMS: assert(_cursor[j] == _survivor_plab_array[j].end(),"Ctl pt invariant") Summary: Calculation of the slicing of survivor spaces for MT was incorrect. Reviewed-by: ysr
author jmasa
date Wed, 03 Mar 2010 08:10:41 -0800
parents 5f1f51edaff6
children 0bfd3fb24150
comparison
equal deleted inserted replaced
1288:c76ca382971b 1289:d47555d7aca8
721 } 721 }
722 assert(_eden_chunk_array != NULL || _eden_chunk_capacity == 0, "Error"); 722 assert(_eden_chunk_array != NULL || _eden_chunk_capacity == 0, "Error");
723 723
724 // Support for parallelizing survivor space rescan 724 // Support for parallelizing survivor space rescan
725 if (CMSParallelRemarkEnabled && CMSParallelSurvivorRemarkEnabled) { 725 if (CMSParallelRemarkEnabled && CMSParallelSurvivorRemarkEnabled) {
726 size_t max_plab_samples = cp->max_gen0_size()/ 726 const size_t max_plab_samples =
727 ((SurvivorRatio+2)*MinTLABSize); 727 ((DefNewGeneration*)_young_gen)->max_survivor_size()/MinTLABSize;
728
728 _survivor_plab_array = NEW_C_HEAP_ARRAY(ChunkArray, ParallelGCThreads); 729 _survivor_plab_array = NEW_C_HEAP_ARRAY(ChunkArray, ParallelGCThreads);
729 _survivor_chunk_array = NEW_C_HEAP_ARRAY(HeapWord*, 2*max_plab_samples); 730 _survivor_chunk_array = NEW_C_HEAP_ARRAY(HeapWord*, 2*max_plab_samples);
730 _cursor = NEW_C_HEAP_ARRAY(size_t, ParallelGCThreads); 731 _cursor = NEW_C_HEAP_ARRAY(size_t, ParallelGCThreads);
731 if (_survivor_plab_array == NULL || _survivor_chunk_array == NULL 732 if (_survivor_plab_array == NULL || _survivor_chunk_array == NULL
732 || _cursor == NULL) { 733 || _cursor == NULL) {