提交 c5790f93 编写于 作者: A anoll

8041992: Fix of JDK-8034775 neglects to account for non-JIT VMs

Summary: Allow 0 compiler threads if no JIT is used.
Reviewed-by: kvn, dholmes
Contributed-by: NSeverin Gehwolf <sgehwolf@redhat.com>
上级 522d2c6e
......@@ -2463,7 +2463,7 @@ bool Arguments::check_vm_args_consistency() {
#endif
// TieredCompilation needs at least 2 compiler threads.
const int num_min_compiler_threads = (TieredCompilation && (TieredStopAtLevel >= CompLevel_full_optimization)) ? 2 : 1;
const int num_min_compiler_threads = (TieredCompilation && (TieredStopAtLevel >= CompLevel_full_optimization)) ? 2 : CI_COMPILER_COUNT;
status &=verify_min_value(CICompilerCount, num_min_compiler_threads, "CICompilerCount");
return status;
......
......@@ -30,11 +30,28 @@
import com.oracle.java.testlibrary.*;
public class NumCompilerThreadsCheck {
public static void main(String[] args) throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:CICompilerCount=-1");
OutputAnalyzer out = new OutputAnalyzer(pb.start());
String expectedOutput = "CICompilerCount of -1 is invalid";
out.shouldContain(expectedOutput);
if (isZeroVm()) {
String expectedLowWaterMarkText = "must be at least 0";
out.shouldContain(expectedLowWaterMarkText);
}
}
private static boolean isZeroVm() {
String vmName = System.getProperty("java.vm.name");
if (vmName == null) {
throw new RuntimeException("No VM name");
}
if (vmName.toLowerCase().contains("zero")) {
return true;
}
return false;
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册