< prev index next >
test/gc/shenandoah/options/TestExplicitGC.java
Print this page
rev 11463 : Backport Traversal GC
@@ -1,6 +1,6 @@
-/*
+'/*
* Copyright (c) 2017, 2018, Red Hat, Inc. All rights reserved.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -49,15 +49,20 @@
String[] full = new String[] {
"Pause Full"
};
- String[] concurrent = new String[] {
+ String[] concNormal = new String[] {
"Pause Init Mark",
"Pause Final Mark",
};
+ String[] concTraversal = new String[] {
+ "Pause Init Traversal",
+ "Pause Final Traversal",
+ };
+
{
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
"-XX:+UseShenandoahGC",
"-verbose:gc",
@@ -65,13 +70,16 @@
"test");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
for (String p : full) {
output.shouldNotContain(p);
}
- for (String p : concurrent) {
+ for (String p : concNormal) {
output.shouldContain(p);
}
+ for (String p : concTraversal) {
+ output.shouldNotContain(p);
+ }
}
{
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-XX:+UnlockExperimentalVMOptions",
@@ -82,11 +90,14 @@
"test");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
for (String p : full) {
output.shouldNotContain(p);
}
- for (String p : concurrent) {
+ for (String p : concNormal) {
+ output.shouldNotContain(p);
+ }
+ for (String p : concTraversal) {
output.shouldNotContain(p);
}
}
{
@@ -99,11 +110,35 @@
"test");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
for (String p : full) {
output.shouldNotContain(p);
}
- for (String p : concurrent) {
+ for (String p : concNormal) {
+ output.shouldContain(p);
+ }
+ for (String p : concTraversal) {
+ output.shouldNotContain(p);
+ }
+ }
+
+ {
+ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+ "-XX:+UnlockExperimentalVMOptions",
+ "-XX:+UseShenandoahGC",
+ "-verbose:gc",
+ "-XX:+ExplicitGCInvokesConcurrent",
+ "-XX:ShenandoahGCMode=traversal",
+ TestExplicitGC.class.getName(),
+ "test");
+ OutputAnalyzer output = new OutputAnalyzer(pb.start());
+ for (String p : full) {
+ output.shouldNotContain(p);
+ }
+ for (String p : concNormal) {
+ output.shouldNotContain(p);
+ }
+ for (String p : concTraversal) {
output.shouldContain(p);
}
}
{
@@ -116,11 +151,14 @@
"test");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
for (String p : full) {
output.shouldContain(p);
}
- for (String p : concurrent) {
+ for (String p : concNormal) {
+ output.shouldNotContain(p);
+ }
+ for (String p : concTraversal) {
output.shouldNotContain(p);
}
}
}
}
< prev index next >