< prev index next >

test/gc/g1/TestSharedArchiveWithPreTouch.java

Print this page
rev 12321 : imported patch 8169703-crash-with-alwayspretouch
rev 12322 : 8169703: G1 crashes with guarantee(pretouch_gang != NULL) failed: No pretouch gang specified
Summary: Allow use of AlwaysPreTouch without passing a WorkGang.
Reviewed-by: kbarrett, dfazunen, ddmitriev

@@ -27,34 +27,38 @@
  * @summary Verifies that dumping and loading a CDS archive succeeds with AlwaysPreTouch
  * @requires vm.gc.G1
  * @key gc
  * @key regression
  * @library /test/lib
+ * @run main TestSharedArchiveWithPreTouch
  */
 
 import jdk.test.lib.Platform;
 import jdk.test.lib.process.ProcessTools;
 import jdk.test.lib.process.OutputAnalyzer;
 
 public class TestSharedArchiveWithPreTouch {
   public static void main(String[] args) throws Exception {
+        final String ArchiveFileName = "./SharedArchiveWithPreTouch.jsa";
+
     ProcessBuilder pb;
+
     pb = ProcessTools.createJavaProcessBuilder(
       Platform.is64bit() ? "-XX:+UseCompressedClassPointers" : "",
       Platform.is64bit() ? "-XX:+UseCompressedOops" : "",
-      "-XX:+UseG1GC", "-XX:+AlwaysPreTouch",
-      "-XX:SharedArchiveFile=./CDSCompressedKPtrs.jsa", "-Xshare:dump");
+            "-XX:+UseG1GC", "-XX:+AlwaysPreTouch", "-XX:+UnlockDiagnosticVMOptions",
+            "-XX:SharedArchiveFile=" + ArchiveFileName, "-Xshare:dump");
     OutputAnalyzer output = new OutputAnalyzer(pb.start());
     try {
       output.shouldContain("Loading classes to share");
       output.shouldHaveExitValue(0);
 
       pb = ProcessTools.createJavaProcessBuilder(
       Platform.is64bit() ? "-XX:+UseCompressedClassPointers" : "",
       Platform.is64bit() ? "-XX:+UseCompressedOops" : "",
-        "-XX:+UseG1GC", "-XX:+AlwaysPreTouch",
-        "-XX:SharedArchiveFile=./CDSCompressedKPtrs.jsa", "-Xshare:on", "-version");
+                "-XX:+UseG1GC", "-XX:+AlwaysPreTouch", "-XX:+UnlockDiagnosticVMOptions",
+                "-XX:SharedArchiveFile=" + ArchiveFileName, "-Xshare:on", "-version");
       output = new OutputAnalyzer(pb.start());
       output.shouldContain("sharing");
       output.shouldHaveExitValue(0);
     } catch (RuntimeException e) {
       // Report 'passed' if CDS was turned off.
< prev index next >