8330647: Two CDS tests fail with -UseCompressedOops and UseSerialGC/UseParallelGC
Reviewed-by: dholmes, iklam
This commit is contained in:
parent
6d2aeb82bc
commit
c2cca2ab44
@ -67,6 +67,9 @@ public class VMProps implements Callable<Map<String, String>> {
|
|||||||
// value known to jtreg as an indicator of error state
|
// value known to jtreg as an indicator of error state
|
||||||
private static final String ERROR_STATE = "__ERROR__";
|
private static final String ERROR_STATE = "__ERROR__";
|
||||||
|
|
||||||
|
private static final String GC_PREFIX = "-XX:+Use";
|
||||||
|
private static final String GC_SUFFIX = "GC";
|
||||||
|
|
||||||
private static final WhiteBox WB = WhiteBox.getWhiteBox();
|
private static final WhiteBox WB = WhiteBox.getWhiteBox();
|
||||||
|
|
||||||
private static class SafeMap {
|
private static class SafeMap {
|
||||||
@ -348,8 +351,6 @@ public class VMProps implements Callable<Map<String, String>> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String GC_PREFIX = "-XX:+Use";
|
|
||||||
String GC_SUFFIX = "GC";
|
|
||||||
String jtropts = System.getProperty("test.cds.runtime.options");
|
String jtropts = System.getProperty("test.cds.runtime.options");
|
||||||
if (jtropts != null) {
|
if (jtropts != null) {
|
||||||
for (String opt : jtropts.split(",")) {
|
for (String opt : jtropts.split(",")) {
|
||||||
@ -462,7 +463,31 @@ public class VMProps implements Callable<Map<String, String>> {
|
|||||||
* @return true if this VM can write Java heap objects into the CDS archive
|
* @return true if this VM can write Java heap objects into the CDS archive
|
||||||
*/
|
*/
|
||||||
protected String vmCDSCanWriteArchivedJavaHeap() {
|
protected String vmCDSCanWriteArchivedJavaHeap() {
|
||||||
return "" + ("true".equals(vmCDS()) && WB.canWriteJavaHeapArchive());
|
return "" + ("true".equals(vmCDS()) && WB.canWriteJavaHeapArchive()
|
||||||
|
&& isCDSRuntimeOptionsCompatible());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true if the VM options specified via the "test.cds.runtime.options"
|
||||||
|
* property is compatible with writing Java heap objects into the CDS archive
|
||||||
|
*/
|
||||||
|
protected boolean isCDSRuntimeOptionsCompatible() {
|
||||||
|
String jtropts = System.getProperty("test.cds.runtime.options");
|
||||||
|
if (jtropts == null) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
String CCP_DISABLED = "-XX:-UseCompressedClassPointers";
|
||||||
|
String G1GC_ENABLED = "-XX:+UseG1GC";
|
||||||
|
for (String opt : jtropts.split(",")) {
|
||||||
|
if (opt.equals(CCP_DISABLED)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (opt.startsWith(GC_PREFIX) && opt.endsWith(GC_SUFFIX) &&
|
||||||
|
!opt.equals(G1GC_ENABLED)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user