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