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) { 72 _generations[1] = new GenerationSpec(Generation::ASConcurrentMarkSweep, 73 _initial_gen1_size, _max_gen1_size); | 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_generations() { 51 _generations = NEW_C_HEAP_ARRAY3(GenerationSpecPtr, number_of_generations(), mtGC, 0, AllocFailStrategy::RETURN_NULL); 52 if (_generations == NULL) 53 vm_exit_during_initialization("Unable to allocate gen spec"); 54 55 if (UseParNewGC) { 56 if (UseAdaptiveSizePolicy) { 57 _generations[0] = new GenerationSpec(Generation::ASParNew, 58 _initial_gen0_size, _max_gen0_size); 59 } else { 60 _generations[0] = new GenerationSpec(Generation::ParNew, 61 _initial_gen0_size, _max_gen0_size); 62 } 63 } else { 64 _generations[0] = new GenerationSpec(Generation::DefNew, 65 _initial_gen0_size, _max_gen0_size); 66 } 67 if (UseAdaptiveSizePolicy) { 68 _generations[1] = new GenerationSpec(Generation::ASConcurrentMarkSweep, 69 _initial_gen1_size, _max_gen1_size); |