< prev index next >

src/hotspot/share/gc/g1/g1Policy.hpp

Print this page
rev 52675 : 8213890: Implementation of JEP 344: Abortable Mixed Collections for G1
Reviewed-by:
Contributed-by: erik.helin@oracle.com, stefan.johansson@oracle.com
rev 52676 : imported patch AMGC-impl
rev 52677 : imported patch AMGC-tsch-rev1
rev 52680 : imported patch AMGC-tsch-rev2


 384   bool adaptive_young_list_length() const;
 385 
 386   void transfer_survivors_to_cset(const G1SurvivorRegions* survivors);
 387 
 388 private:
 389   //
 390   // Survivor regions policy.
 391   //
 392 
 393   // Current tenuring threshold, set to 0 if the collector reaches the
 394   // maximum amount of survivors regions.
 395   uint _tenuring_threshold;
 396 
 397   // The limit on the number of regions allocated for survivors.
 398   uint _max_survivor_regions;
 399 
 400   AgeTable _survivors_age_table;
 401 
 402   size_t desired_survivor_size() const;
 403 public:








 404   uint tenuring_threshold() const { return _tenuring_threshold; }
 405 
 406   uint max_survivor_regions() {
 407     return _max_survivor_regions;
 408   }
 409 
 410   void note_start_adding_survivor_regions() {
 411     _survivor_surv_rate_group->start_adding_regions();
 412   }
 413 
 414   void note_stop_adding_survivor_regions() {
 415     _survivor_surv_rate_group->stop_adding_regions();
 416   }
 417 
 418   void record_age_table(AgeTable* age_table) {
 419     _survivors_age_table.merge(age_table);
 420   }
 421 
 422   void print_age_table();
 423 


 384   bool adaptive_young_list_length() const;
 385 
 386   void transfer_survivors_to_cset(const G1SurvivorRegions* survivors);
 387 
 388 private:
 389   //
 390   // Survivor regions policy.
 391   //
 392 
 393   // Current tenuring threshold, set to 0 if the collector reaches the
 394   // maximum amount of survivors regions.
 395   uint _tenuring_threshold;
 396 
 397   // The limit on the number of regions allocated for survivors.
 398   uint _max_survivor_regions;
 399 
 400   AgeTable _survivors_age_table;
 401 
 402   size_t desired_survivor_size() const;
 403 public:
 404   // Fraction used when predicting how many optional regions to include in
 405   // the CSet. This fraction of the available time is used for optional regions,
 406   // the rest is used to add old regions to the normal CSet.
 407   double optional_prediction_fraction() { return 0.2; }
 408   // Fraction used when evacuating the optional regions. This fraction of the
 409   // remaining time is used to choose what regions to include in the evacuation.
 410   double optional_evacuation_fraction() { return 0.75; }
 411 
 412   uint tenuring_threshold() const { return _tenuring_threshold; }
 413 
 414   uint max_survivor_regions() {
 415     return _max_survivor_regions;
 416   }
 417 
 418   void note_start_adding_survivor_regions() {
 419     _survivor_surv_rate_group->start_adding_regions();
 420   }
 421 
 422   void note_stop_adding_survivor_regions() {
 423     _survivor_surv_rate_group->stop_adding_regions();
 424   }
 425 
 426   void record_age_table(AgeTable* age_table) {
 427     _survivors_age_table.merge(age_table);
 428   }
 429 
 430   void print_age_table();
 431 
< prev index next >