comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp @ 1571:2d127394260e

6916623: Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb Summary: Added new product ObjectAlignmentInBytes flag to control object alignment. Reviewed-by: twisti, ysr, iveresov
author kvn
date Thu, 27 May 2010 18:01:56 -0700
parents a8127dc669ba
children e9ff18c4ace7
comparison
equal deleted inserted replaced
1570:de91a2f25c7e 1571:2d127394260e
157 ConcurrentMarkSweepGeneration::ConcurrentMarkSweepGeneration( 157 ConcurrentMarkSweepGeneration::ConcurrentMarkSweepGeneration(
158 ReservedSpace rs, size_t initial_byte_size, int level, 158 ReservedSpace rs, size_t initial_byte_size, int level,
159 CardTableRS* ct, bool use_adaptive_freelists, 159 CardTableRS* ct, bool use_adaptive_freelists,
160 FreeBlockDictionary::DictionaryChoice dictionaryChoice) : 160 FreeBlockDictionary::DictionaryChoice dictionaryChoice) :
161 CardGeneration(rs, initial_byte_size, level, ct), 161 CardGeneration(rs, initial_byte_size, level, ct),
162 _dilatation_factor(((double)MinChunkSize)/((double)(oopDesc::header_size()))), 162 _dilatation_factor(((double)MinChunkSize)/((double)(CollectedHeap::min_fill_size()))),
163 _debug_collection_type(Concurrent_collection_type) 163 _debug_collection_type(Concurrent_collection_type)
164 { 164 {
165 HeapWord* bottom = (HeapWord*) _virtual_space.low(); 165 HeapWord* bottom = (HeapWord*) _virtual_space.low();
166 HeapWord* end = (HeapWord*) _virtual_space.high(); 166 HeapWord* end = (HeapWord*) _virtual_space.high();
167 167
220 // factor as: MinChunkSize/(promoting_gen's min object size) 220 // factor as: MinChunkSize/(promoting_gen's min object size)
221 // Since we do not have such a general query interface for the 221 // Since we do not have such a general query interface for the
222 // promoting generation, we'll instead just use the mimimum 222 // promoting generation, we'll instead just use the mimimum
223 // object size (which today is a header's worth of space); 223 // object size (which today is a header's worth of space);
224 // note that all arithmetic is in units of HeapWords. 224 // note that all arithmetic is in units of HeapWords.
225 assert(MinChunkSize >= oopDesc::header_size(), "just checking"); 225 assert(MinChunkSize >= CollectedHeap::min_fill_size(), "just checking");
226 assert(_dilatation_factor >= 1.0, "from previous assert"); 226 assert(_dilatation_factor >= 1.0, "from previous assert");
227 } 227 }
228 228
229 229
230 // The field "_initiating_occupancy" represents the occupancy percentage 230 // The field "_initiating_occupancy" represents the occupancy percentage