--- old/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp 2014-10-17 16:28:31.000000000 +0200 +++ new/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp 2014-10-17 16:28:31.000000000 +0200 @@ -52,19 +52,14 @@ } void ConcurrentMarkSweepPolicy::initialize_generations() { - _generations = NEW_C_HEAP_ARRAY3(GenerationSpecPtr, number_of_generations(), mtGC, - CURRENT_PC, AllocFailStrategy::RETURN_NULL); - if (_generations == NULL) - vm_exit_during_initialization("Unable to allocate gen spec"); - Generation::Name yg_name = UseParNewGC ? Generation::ParNew : Generation::DefNew; - _generations[0] = new GenerationSpec(yg_name, _initial_young_size, - _max_young_size); - _generations[1] = new GenerationSpec(Generation::ConcurrentMarkSweep, - _initial_old_size, _max_old_size); + _young_gen_spec = new GenerationSpec(yg_name, _initial_young_size, + _max_young_size, _gen_alignment); + _old_gen_spec = new GenerationSpec(Generation::ConcurrentMarkSweep, + _initial_old_size, _max_old_size, _gen_alignment); - if (_generations[0] == NULL || _generations[1] == NULL) { + if (_young_gen_spec == NULL || _old_gen_spec == NULL) { vm_exit_during_initialization("Unable to allocate gen spec"); } }