< prev index next >

src/share/vm/gc/g1/g1YoungGenSizer.cpp

Print this page




  28 #include "logging/log.hpp"
  29 
  30 G1YoungGenSizer::G1YoungGenSizer() : _sizer_kind(SizerDefaults), _adaptive_size(true),
  31         _min_desired_young_length(0), _max_desired_young_length(0) {
  32   if (FLAG_IS_CMDLINE(NewRatio)) {
  33     if (FLAG_IS_CMDLINE(NewSize) || FLAG_IS_CMDLINE(MaxNewSize)) {
  34       log_warning(gc, ergo)("-XX:NewSize and -XX:MaxNewSize override -XX:NewRatio");
  35     } else {
  36       _sizer_kind = SizerNewRatio;
  37       _adaptive_size = false;
  38       return;
  39     }
  40   }
  41 
  42   if (NewSize > MaxNewSize) {
  43     if (FLAG_IS_CMDLINE(MaxNewSize)) {
  44       log_warning(gc, ergo)("NewSize (" SIZE_FORMAT "k) is greater than the MaxNewSize (" SIZE_FORMAT "k). "
  45                             "A new max generation size of " SIZE_FORMAT "k will be used.",
  46                             NewSize/K, MaxNewSize/K, NewSize/K);
  47     }
  48     MaxNewSize = NewSize;
  49   }
  50 
  51   if (FLAG_IS_CMDLINE(NewSize)) {
  52     _min_desired_young_length = MAX2((uint) (NewSize / HeapRegion::GrainBytes),
  53                                      1U);
  54     if (FLAG_IS_CMDLINE(MaxNewSize)) {
  55       _max_desired_young_length =
  56                              MAX2((uint) (MaxNewSize / HeapRegion::GrainBytes),
  57                                   1U);
  58       _sizer_kind = SizerMaxAndNewSize;
  59       _adaptive_size = _min_desired_young_length != _max_desired_young_length;
  60     } else {
  61       _sizer_kind = SizerNewSizeOnly;
  62     }
  63   } else if (FLAG_IS_CMDLINE(MaxNewSize)) {
  64     _max_desired_young_length =
  65                              MAX2((uint) (MaxNewSize / HeapRegion::GrainBytes),
  66                                   1U);
  67     _sizer_kind = SizerMaxNewSizeOnly;
  68   }




  28 #include "logging/log.hpp"
  29 
  30 G1YoungGenSizer::G1YoungGenSizer() : _sizer_kind(SizerDefaults), _adaptive_size(true),
  31         _min_desired_young_length(0), _max_desired_young_length(0) {
  32   if (FLAG_IS_CMDLINE(NewRatio)) {
  33     if (FLAG_IS_CMDLINE(NewSize) || FLAG_IS_CMDLINE(MaxNewSize)) {
  34       log_warning(gc, ergo)("-XX:NewSize and -XX:MaxNewSize override -XX:NewRatio");
  35     } else {
  36       _sizer_kind = SizerNewRatio;
  37       _adaptive_size = false;
  38       return;
  39     }
  40   }
  41 
  42   if (NewSize > MaxNewSize) {
  43     if (FLAG_IS_CMDLINE(MaxNewSize)) {
  44       log_warning(gc, ergo)("NewSize (" SIZE_FORMAT "k) is greater than the MaxNewSize (" SIZE_FORMAT "k). "
  45                             "A new max generation size of " SIZE_FORMAT "k will be used.",
  46                             NewSize/K, MaxNewSize/K, NewSize/K);
  47     }
  48     FLAG_SET_ERGO(size_t, MaxNewSize, NewSize);
  49   }
  50 
  51   if (FLAG_IS_CMDLINE(NewSize)) {
  52     _min_desired_young_length = MAX2((uint) (NewSize / HeapRegion::GrainBytes),
  53                                      1U);
  54     if (FLAG_IS_CMDLINE(MaxNewSize)) {
  55       _max_desired_young_length =
  56                              MAX2((uint) (MaxNewSize / HeapRegion::GrainBytes),
  57                                   1U);
  58       _sizer_kind = SizerMaxAndNewSize;
  59       _adaptive_size = _min_desired_young_length != _max_desired_young_length;
  60     } else {
  61       _sizer_kind = SizerNewSizeOnly;
  62     }
  63   } else if (FLAG_IS_CMDLINE(MaxNewSize)) {
  64     _max_desired_young_length =
  65                              MAX2((uint) (MaxNewSize / HeapRegion::GrainBytes),
  66                                   1U);
  67     _sizer_kind = SizerMaxNewSizeOnly;
  68   }


< prev index next >