319 320 public: 321 TwoGenerationCollectorPolicy() : GenCollectorPolicy(), _min_gen1_size(0), 322 _initial_gen1_size(0), _max_gen1_size(0) {} 323 324 // Accessors 325 size_t min_gen1_size() { return _min_gen1_size; } 326 size_t initial_gen1_size() { return _initial_gen1_size; } 327 size_t max_gen1_size() { return _max_gen1_size; } 328 329 // Inherited methods 330 TwoGenerationCollectorPolicy* as_two_generation_policy() { return this; } 331 332 int number_of_generations() { return 2; } 333 BarrierSet::Name barrier_set_name() { return BarrierSet::CardTableModRef; } 334 335 virtual CollectorPolicy::Name kind() { 336 return CollectorPolicy::TwoGenerationCollectorPolicyKind; 337 } 338 339 // Returns true is gen0 sizes were adjusted 340 bool adjust_gen0_sizes(size_t* gen0_size_ptr, size_t* gen1_size_ptr, 341 const size_t heap_size, const size_t min_gen1_size); 342 }; 343 344 class MarkSweepPolicy : public TwoGenerationCollectorPolicy { 345 protected: 346 void initialize_alignments(); 347 void initialize_generations(); 348 349 public: 350 MarkSweepPolicy() {} 351 352 MarkSweepPolicy* as_mark_sweep_policy() { return this; } 353 354 void initialize_gc_policy_counters(); 355 }; 356 357 #endif // SHARE_VM_MEMORY_COLLECTORPOLICY_HPP | 319 320 public: 321 TwoGenerationCollectorPolicy() : GenCollectorPolicy(), _min_gen1_size(0), 322 _initial_gen1_size(0), _max_gen1_size(0) {} 323 324 // Accessors 325 size_t min_gen1_size() { return _min_gen1_size; } 326 size_t initial_gen1_size() { return _initial_gen1_size; } 327 size_t max_gen1_size() { return _max_gen1_size; } 328 329 // Inherited methods 330 TwoGenerationCollectorPolicy* as_two_generation_policy() { return this; } 331 332 int number_of_generations() { return 2; } 333 BarrierSet::Name barrier_set_name() { return BarrierSet::CardTableModRef; } 334 335 virtual CollectorPolicy::Name kind() { 336 return CollectorPolicy::TwoGenerationCollectorPolicyKind; 337 } 338 339 // Returns true if gen0 sizes were adjusted 340 bool adjust_gen0_sizes(size_t* gen0_size_ptr, size_t* gen1_size_ptr, 341 const size_t heap_size); 342 }; 343 344 class MarkSweepPolicy : public TwoGenerationCollectorPolicy { 345 protected: 346 void initialize_alignments(); 347 void initialize_generations(); 348 349 public: 350 MarkSweepPolicy() {} 351 352 MarkSweepPolicy* as_mark_sweep_policy() { return this; } 353 354 void initialize_gc_policy_counters(); 355 }; 356 357 #endif // SHARE_VM_MEMORY_COLLECTORPOLICY_HPP |