src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp

Print this page
rev 2591 : 6814390: G1: remove the concept of non-generational G1
Summary: Removed the possibility to turn off generational mode for G1.
Reviewed-by:


 161   NumberSeq* _all_mod_union_times_ms;
 162 
 163   int        _aux_num;
 164   NumberSeq* _all_aux_times_ms;
 165   double*    _cur_aux_start_times_ms;
 166   double*    _cur_aux_times_ms;
 167   bool*      _cur_aux_times_set;
 168 
 169   double* _par_last_gc_worker_start_times_ms;
 170   double* _par_last_ext_root_scan_times_ms;
 171   double* _par_last_mark_stack_scan_times_ms;
 172   double* _par_last_update_rs_times_ms;
 173   double* _par_last_update_rs_processed_buffers;
 174   double* _par_last_scan_rs_times_ms;
 175   double* _par_last_obj_copy_times_ms;
 176   double* _par_last_termination_times_ms;
 177   double* _par_last_termination_attempts;
 178   double* _par_last_gc_worker_end_times_ms;
 179   double* _par_last_gc_worker_times_ms;
 180 
 181   // indicates that we are in young GC mode
 182   bool _in_young_gc_mode;
 183 
 184   // indicates whether we are in full young or partially young GC mode
 185   bool _full_young_gcs;
 186 
 187   // if true, then it tries to dynamically adjust the length of the
 188   // young list
 189   bool _adaptive_young_list_length;
 190   size_t _young_list_min_length;
 191   size_t _young_list_target_length;
 192   size_t _young_list_fixed_length;
 193 
 194   // The max number of regions we can extend the eden by while the GC
 195   // locker is active. This should be >= _young_list_target_length;
 196   size_t _young_list_max_length;
 197 
 198   size_t _young_cset_length;
 199   bool   _last_young_gc_full;
 200 
 201   unsigned              _full_young_pause_num;
 202   unsigned              _partial_young_pause_num;
 203 


1100 
1101   bool is_young_list_full() {
1102     size_t young_list_length = _g1->young_list()->length();
1103     size_t young_list_target_length = _young_list_target_length;
1104     if (G1FixedEdenSize) {
1105       young_list_target_length -= _max_survivor_regions;
1106     }
1107     return young_list_length >= young_list_target_length;
1108   }
1109 
1110   bool can_expand_young_list() {
1111     size_t young_list_length = _g1->young_list()->length();
1112     size_t young_list_max_length = _young_list_max_length;
1113     if (G1FixedEdenSize) {
1114       young_list_max_length -= _max_survivor_regions;
1115     }
1116     return young_list_length < young_list_max_length;
1117   }
1118 
1119   void update_region_num(bool young);
1120 
1121   bool in_young_gc_mode() {
1122     return _in_young_gc_mode;
1123   }
1124   void set_in_young_gc_mode(bool in_young_gc_mode) {
1125     _in_young_gc_mode = in_young_gc_mode;
1126   }
1127 
1128   bool full_young_gcs() {
1129     return _full_young_gcs;
1130   }
1131   void set_full_young_gcs(bool full_young_gcs) {
1132     _full_young_gcs = full_young_gcs;
1133   }
1134 
1135   bool adaptive_young_list_length() {
1136     return _adaptive_young_list_length;
1137   }
1138   void set_adaptive_young_list_length(bool adaptive_young_list_length) {
1139     _adaptive_young_list_length = adaptive_young_list_length;
1140   }
1141 
1142   inline double get_gc_eff_factor() {
1143     double ratio = _known_garbage_ratio;
1144 
1145     double square = ratio * ratio;
1146     // square = square * square;




 161   NumberSeq* _all_mod_union_times_ms;
 162 
 163   int        _aux_num;
 164   NumberSeq* _all_aux_times_ms;
 165   double*    _cur_aux_start_times_ms;
 166   double*    _cur_aux_times_ms;
 167   bool*      _cur_aux_times_set;
 168 
 169   double* _par_last_gc_worker_start_times_ms;
 170   double* _par_last_ext_root_scan_times_ms;
 171   double* _par_last_mark_stack_scan_times_ms;
 172   double* _par_last_update_rs_times_ms;
 173   double* _par_last_update_rs_processed_buffers;
 174   double* _par_last_scan_rs_times_ms;
 175   double* _par_last_obj_copy_times_ms;
 176   double* _par_last_termination_times_ms;
 177   double* _par_last_termination_attempts;
 178   double* _par_last_gc_worker_end_times_ms;
 179   double* _par_last_gc_worker_times_ms;
 180 



 181   // indicates whether we are in full young or partially young GC mode
 182   bool _full_young_gcs;
 183 
 184   // if true, then it tries to dynamically adjust the length of the
 185   // young list
 186   bool _adaptive_young_list_length;
 187   size_t _young_list_min_length;
 188   size_t _young_list_target_length;
 189   size_t _young_list_fixed_length;
 190 
 191   // The max number of regions we can extend the eden by while the GC
 192   // locker is active. This should be >= _young_list_target_length;
 193   size_t _young_list_max_length;
 194 
 195   size_t _young_cset_length;
 196   bool   _last_young_gc_full;
 197 
 198   unsigned              _full_young_pause_num;
 199   unsigned              _partial_young_pause_num;
 200 


1097 
1098   bool is_young_list_full() {
1099     size_t young_list_length = _g1->young_list()->length();
1100     size_t young_list_target_length = _young_list_target_length;
1101     if (G1FixedEdenSize) {
1102       young_list_target_length -= _max_survivor_regions;
1103     }
1104     return young_list_length >= young_list_target_length;
1105   }
1106 
1107   bool can_expand_young_list() {
1108     size_t young_list_length = _g1->young_list()->length();
1109     size_t young_list_max_length = _young_list_max_length;
1110     if (G1FixedEdenSize) {
1111       young_list_max_length -= _max_survivor_regions;
1112     }
1113     return young_list_length < young_list_max_length;
1114   }
1115 
1116   void update_region_num(bool young);







1117 
1118   bool full_young_gcs() {
1119     return _full_young_gcs;
1120   }
1121   void set_full_young_gcs(bool full_young_gcs) {
1122     _full_young_gcs = full_young_gcs;
1123   }
1124 
1125   bool adaptive_young_list_length() {
1126     return _adaptive_young_list_length;
1127   }
1128   void set_adaptive_young_list_length(bool adaptive_young_list_length) {
1129     _adaptive_young_list_length = adaptive_young_list_length;
1130   }
1131 
1132   inline double get_gc_eff_factor() {
1133     double ratio = _known_garbage_ratio;
1134 
1135     double square = ratio * ratio;
1136     // square = square * square;