hotspot/src/share/vm/runtime/arguments.cpp
changeset 28834 4925a7f447b0
parent 28832 4c2704386850
parent 28726 e69d7f50ef94
child 28838 da47c3cc5c98
equal deleted inserted replaced
28833:747e11afce7e 28834:4925a7f447b0
  1125   }
  1125   }
  1126 }
  1126 }
  1127 #endif
  1127 #endif
  1128 
  1128 
  1129 intx Arguments::scaled_compile_threshold(intx threshold, double scale) {
  1129 intx Arguments::scaled_compile_threshold(intx threshold, double scale) {
  1130   if (scale == 1.0 || scale < 0.0) {
  1130   if (scale == 1.0 || scale <= 0.0) {
  1131     return threshold;
  1131     return threshold;
  1132   } else {
  1132   } else {
  1133     return (intx)(threshold * scale);
  1133     return (intx)(threshold * scale);
  1134   }
  1134   }
  1135 }
  1135 }
  1141     return freq_log;
  1141     return freq_log;
  1142   }
  1142   }
  1143 
  1143 
  1144   // Check value to avoid calculating log2 of 0.
  1144   // Check value to avoid calculating log2 of 0.
  1145   if (scale == 0.0) {
  1145   if (scale == 0.0) {
  1146     return 1;
  1146     return freq_log;
  1147   }
  1147   }
  1148 
  1148 
  1149   intx scaled_freq = scaled_compile_threshold((intx)1 << freq_log, scale);
  1149   intx scaled_freq = scaled_compile_threshold((intx)1 << freq_log, scale);
  1150   // Determine the maximum notification frequency value currently supported.
  1150   // Determine the maximum notification frequency value currently supported.
  1151   // The largest mask value that the interpreter/C1 can handle is
  1151   // The largest mask value that the interpreter/C1 can handle is
  3478     // -Djava.compiler="NONE" or "" is specified AND "-Xdebug" was
  3478     // -Djava.compiler="NONE" or "" is specified AND "-Xdebug" was
  3479     // not specified.
  3479     // not specified.
  3480     set_mode_flags(_int);
  3480     set_mode_flags(_int);
  3481   }
  3481   }
  3482 
  3482 
  3483   if ((TieredCompilation && CompileThresholdScaling == 0)
  3483   // CompileThresholdScaling == 0.0 is same as -Xint: Disable compilation (enable interpreter-only mode),
  3484       || (!TieredCompilation && scaled_compile_threshold(CompileThreshold) == 0)) {
  3484   // but like -Xint, leave compilation thresholds unaffected.
       
  3485   // With tiered compilation disabled, setting CompileThreshold to 0 disables compilation as well.
       
  3486   if ((CompileThresholdScaling == 0.0) || (!TieredCompilation && CompileThreshold == 0)) {
  3485     set_mode_flags(_int);
  3487     set_mode_flags(_int);
  3486   }
  3488   }
  3487 
  3489 
  3488   // eventually fix up InitialTenuringThreshold if only MaxTenuringThreshold is set
  3490   // eventually fix up InitialTenuringThreshold if only MaxTenuringThreshold is set
  3489   if (FLAG_IS_DEFAULT(InitialTenuringThreshold) && (InitialTenuringThreshold > MaxTenuringThreshold)) {
  3491   if (FLAG_IS_DEFAULT(InitialTenuringThreshold) && (InitialTenuringThreshold > MaxTenuringThreshold)) {