30 #include "gc_implementation/shared/gcPolicyCounters.hpp" 31 #include "gc_implementation/shared/vmGCOperations.hpp" 32 #include "memory/cardTableRS.hpp" 33 #include "memory/collectorPolicy.hpp" 34 #include "memory/gcLocker.inline.hpp" 35 #include "memory/genCollectedHeap.hpp" 36 #include "memory/generationSpec.hpp" 37 #include "memory/space.hpp" 38 #include "memory/universe.hpp" 39 #include "runtime/arguments.hpp" 40 #include "runtime/globals_extension.hpp" 41 #include "runtime/handles.inline.hpp" 42 #include "runtime/java.hpp" 43 #include "runtime/thread.inline.hpp" 44 #include "runtime/vmThread.hpp" 45 46 // 47 // ConcurrentMarkSweepPolicy methods 48 // 49 50 ConcurrentMarkSweepPolicy::ConcurrentMarkSweepPolicy() { 51 initialize_all(); 52 } 53 54 void ConcurrentMarkSweepPolicy::initialize_generations() { 55 _generations = NEW_C_HEAP_ARRAY3(GenerationSpecPtr, number_of_generations(), mtGC, 0, AllocFailStrategy::RETURN_NULL); 56 if (_generations == NULL) 57 vm_exit_during_initialization("Unable to allocate gen spec"); 58 59 if (UseParNewGC) { 60 if (UseAdaptiveSizePolicy) { 61 _generations[0] = new GenerationSpec(Generation::ASParNew, 62 _initial_gen0_size, _max_gen0_size); 63 } else { 64 _generations[0] = new GenerationSpec(Generation::ParNew, 65 _initial_gen0_size, _max_gen0_size); 66 } 67 } else { 68 _generations[0] = new GenerationSpec(Generation::DefNew, 69 _initial_gen0_size, _max_gen0_size); 70 } 71 if (UseAdaptiveSizePolicy) { | 30 #include "gc_implementation/shared/gcPolicyCounters.hpp" 31 #include "gc_implementation/shared/vmGCOperations.hpp" 32 #include "memory/cardTableRS.hpp" 33 #include "memory/collectorPolicy.hpp" 34 #include "memory/gcLocker.inline.hpp" 35 #include "memory/genCollectedHeap.hpp" 36 #include "memory/generationSpec.hpp" 37 #include "memory/space.hpp" 38 #include "memory/universe.hpp" 39 #include "runtime/arguments.hpp" 40 #include "runtime/globals_extension.hpp" 41 #include "runtime/handles.inline.hpp" 42 #include "runtime/java.hpp" 43 #include "runtime/thread.inline.hpp" 44 #include "runtime/vmThread.hpp" 45 46 // 47 // ConcurrentMarkSweepPolicy methods 48 // 49 50 void ConcurrentMarkSweepPolicy::initialize_alignments() { 51 _space_alignment = _gen_alignment = (uintx)Generation::GenGrain; 52 _heap_alignment = compute_heap_alignment(); 53 } 54 55 void ConcurrentMarkSweepPolicy::initialize_generations() { 56 _generations = NEW_C_HEAP_ARRAY3(GenerationSpecPtr, number_of_generations(), mtGC, 0, AllocFailStrategy::RETURN_NULL); 57 if (_generations == NULL) 58 vm_exit_during_initialization("Unable to allocate gen spec"); 59 60 if (UseParNewGC) { 61 if (UseAdaptiveSizePolicy) { 62 _generations[0] = new GenerationSpec(Generation::ASParNew, 63 _initial_gen0_size, _max_gen0_size); 64 } else { 65 _generations[0] = new GenerationSpec(Generation::ParNew, 66 _initial_gen0_size, _max_gen0_size); 67 } 68 } else { 69 _generations[0] = new GenerationSpec(Generation::DefNew, 70 _initial_gen0_size, _max_gen0_size); 71 } 72 if (UseAdaptiveSizePolicy) { |