419 // tests to make sure the archived heap objects are mapped/loaded properly.
420 public static void addVerifyArchivedFields(ArrayList<String> cmd) {
421 cmd.add("-XX:+UnlockDiagnosticVMOptions");
422 cmd.add("-XX:VerifyArchivedFields=1");
423 }
424
425 // Execute JVM with CDS archive, specify CDSOptions
426 public static OutputAnalyzer runWithArchive(CDSOptions opts)
427 throws Exception {
428
429 ArrayList<String> cmd = new ArrayList<String>();
430 cmd.addAll(opts.prefix);
431 cmd.add("-Xshare:" + opts.xShareMode);
432 cmd.add("-Dtest.timeout.factor=" + TestTimeoutFactor);
433
434 if (!opts.useSystemArchive) {
435 if (opts.archiveName == null)
436 opts.archiveName = getDefaultArchiveName();
437 cmd.add("-XX:SharedArchiveFile=" + opts.archiveName);
438 }
439 addVerifyArchivedFields(cmd);
440
441 if (opts.useVersion)
442 cmd.add("-version");
443
444 for (String s : opts.suffix) cmd.add(s);
445
446 String[] cmdLine = cmd.toArray(new String[cmd.size()]);
447 ProcessBuilder pb = ProcessTools.createTestJavaProcessBuilder(cmdLine);
448 return executeAndLog(pb, "exec");
449 }
450
451
452 // A commonly used convenience methods to create an archive and check the results
453 // Creates an archive and checks for errors
454 public static OutputAnalyzer runWithArchiveAndCheck(CDSOptions opts) throws Exception {
455 return checkExec(runWithArchive(opts));
456 }
457
458
459 public static OutputAnalyzer runWithArchiveAndCheck(String... cliPrefix) throws Exception {
|
419 // tests to make sure the archived heap objects are mapped/loaded properly.
420 public static void addVerifyArchivedFields(ArrayList<String> cmd) {
421 cmd.add("-XX:+UnlockDiagnosticVMOptions");
422 cmd.add("-XX:VerifyArchivedFields=1");
423 }
424
425 // Execute JVM with CDS archive, specify CDSOptions
426 public static OutputAnalyzer runWithArchive(CDSOptions opts)
427 throws Exception {
428
429 ArrayList<String> cmd = new ArrayList<String>();
430 cmd.addAll(opts.prefix);
431 cmd.add("-Xshare:" + opts.xShareMode);
432 cmd.add("-Dtest.timeout.factor=" + TestTimeoutFactor);
433
434 if (!opts.useSystemArchive) {
435 if (opts.archiveName == null)
436 opts.archiveName = getDefaultArchiveName();
437 cmd.add("-XX:SharedArchiveFile=" + opts.archiveName);
438 }
439 if (!opts.benchmarkMode) {
440 addVerifyArchivedFields(cmd);
441 }
442
443 if (opts.useVersion)
444 cmd.add("-version");
445
446 for (String s : opts.suffix) cmd.add(s);
447
448 String[] cmdLine = cmd.toArray(new String[cmd.size()]);
449 ProcessBuilder pb = ProcessTools.createTestJavaProcessBuilder(cmdLine);
450 return executeAndLog(pb, "exec");
451 }
452
453
454 // A commonly used convenience methods to create an archive and check the results
455 // Creates an archive and checks for errors
456 public static OutputAnalyzer runWithArchiveAndCheck(CDSOptions opts) throws Exception {
457 return checkExec(runWithArchive(opts));
458 }
459
460
461 public static OutputAnalyzer runWithArchiveAndCheck(String... cliPrefix) throws Exception {
|