changeset 3647:c8f02f0ecbd7 jdk-9+136

Merge
author lana
date Thu, 08 Sep 2016 22:13:38 +0000
parents 39138c7eeb27 560204c4944f
children ab580b8d745d 31c022a17639
files
diffstat 80 files changed, 167 insertions(+), 142 deletions(-) [+]
line wrap: on
line diff
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Thu Sep 08 22:13:38 2016 +0000
@@ -426,8 +426,8 @@
 
         verboseCompilePolicy = options.isSet("verboseCompilePolicy");
 
-        if (options.isSet("shouldstop.at") &&
-            CompileState.valueOf(options.get("shouldstop.at")) == CompileState.ATTR)
+        if (options.isSet("should-stop.at") &&
+            CompileState.valueOf(options.get("should-stop.at")) == CompileState.ATTR)
             compilePolicy = CompilePolicy.ATTR_ONLY;
         else
             compilePolicy = CompilePolicy.decode(options.get("compilePolicy"));
@@ -440,14 +440,14 @@
             : null;
 
         shouldStopPolicyIfError =
-            options.isSet("shouldstop.at") // backwards compatible
-            ? CompileState.valueOf(options.get("shouldstop.at"))
-            : options.isSet("shouldstop.ifError")
-            ? CompileState.valueOf(options.get("shouldstop.ifError"))
+            options.isSet("should-stop.at") // backwards compatible
+            ? CompileState.valueOf(options.get("should-stop.at"))
+            : options.isSet("should-stop.ifError")
+            ? CompileState.valueOf(options.get("should-stop.ifError"))
             : CompileState.INIT;
         shouldStopPolicyIfNoError =
-            options.isSet("shouldstop.ifNoError")
-            ? CompileState.valueOf(options.get("shouldstop.ifNoError"))
+            options.isSet("should-stop.ifNoError")
+            ? CompileState.valueOf(options.get("should-stop.ifNoError"))
             : CompileState.GENERATE;
 
         if (options.isUnset("diags.legacy"))
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java	Thu Sep 08 22:13:38 2016 +0000
@@ -509,33 +509,21 @@
 
     XDIAGS("-Xdiags:", "opt.diags", EXTENDED, BASIC, ONEOF, "compact", "verbose"),
 
-    XDEBUG("-Xdebug:", null, HIDDEN, BASIC) {
+    DEBUG("--debug:", null, HIDDEN, BASIC) {
         @Override
         public boolean process(OptionHelper helper, String option) {
-            String p = option.substring(option.indexOf(':') + 1).trim();
-            String[] subOptions = p.split(";");
-            for (String subOption : subOptions) {
-                subOption = "debug." + subOption.trim();
-                XD.process(helper, subOption, subOption);
-            }
-            return false;
+            return HiddenGroup.DEBUG.process(helper, option);
         }
     },
 
-    XSHOULDSTOP("-Xshouldstop:", null, HIDDEN, BASIC) {
+    SHOULDSTOP("--should-stop:", null, HIDDEN, BASIC) {
         @Override
         public boolean process(OptionHelper helper, String option) {
-            String p = option.substring(option.indexOf(':') + 1).trim();
-            String[] subOptions = p.split(";");
-            for (String subOption : subOptions) {
-                subOption = "shouldstop." + subOption.trim();
-                XD.process(helper, subOption, subOption);
-            }
-            return false;
+            return HiddenGroup.SHOULDSTOP.process(helper, option);
         }
     },
 
-    DIAGS("-diags:", null, HIDDEN, BASIC) {
+    DIAGS("--diags:", null, HIDDEN, BASIC) {
         @Override
         public boolean process(OptionHelper helper, String option) {
             return HiddenGroup.DIAGS.process(helper, option);
@@ -754,7 +742,12 @@
     }
 
     enum HiddenGroup {
-        DIAGS("diags");
+        DIAGS("diags"),
+        DEBUG("debug"),
+        SHOULDSTOP("should-stop");
+
+        static final Set<String> skipSet = new java.util.HashSet<>(
+                Arrays.asList("--diags:", "--debug:", "--should-stop:"));
 
         final String text;
 
@@ -771,6 +764,10 @@
             }
             return false;
         }
+
+        static boolean skip(String name) {
+            return skipSet.contains(name);
+        }
     }
 
     /**
@@ -930,7 +927,7 @@
     }
 
     private boolean matches(String option, String name) {
-        if (name.startsWith("--")) {
+        if (name.startsWith("--") && !HiddenGroup.skip(name)) {
             return option.equals(name)
                     || hasArg() && option.startsWith(name + "=");
         }
--- a/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/Options.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/src/jdk.compiler/share/classes/com/sun/tools/sjavac/options/Options.java	Thu Sep 08 22:13:38 2016 +0000
@@ -313,7 +313,7 @@
         }
 
         // Enable dependency generation
-        args.add("-Xdebug:completionDeps=source,class");
+        args.add("--debug:completionDeps=source,class");
 
         // This can't be anything but 'none'. Enforced by sjavac main method.
         args.add("-implicit:" + implicitPolicy);
--- a/src/jdk.jshell/share/classes/jdk/jshell/ReplParser.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/src/jdk.jshell/share/classes/jdk/jshell/ReplParser.java	Thu Sep 08 22:13:38 2016 +0000
@@ -95,24 +95,6 @@
             mods = modifiersOpt();
         }
 
-        if (token.kind == PACKAGE) {
-            int packagePos = token.pos;
-            List<JCAnnotation> annotations = List.nil();
-            seenPackage = true;
-            if (mods != null) {
-                checkNoMods(mods.flags);
-                annotations = mods.annotations;
-                mods = null;
-            }
-            nextToken();
-            JCExpression pid = qualident(false);
-            accept(SEMI);
-            JCPackageDecl pd = F.at(packagePos).PackageDecl(annotations, pid);
-            attach(pd, firstToken.comment(CommentStyle.JAVADOC));
-            storeEnd(pd, token.pos);
-            defs.append(pd);
-        }
-
         boolean firstTypeDecl = true;
         while (token.kind != EOF) {
             if (token.pos > 0 && token.pos <= endPosTable.errorEndPos) {
--- a/src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java	Thu Sep 08 22:13:38 2016 +0000
@@ -838,8 +838,31 @@
     }
 
     private Stream<Element> localElements(Scope scope) {
-        @SuppressWarnings("unchecked")
-        Stream<Element> elements = Util.stream((Iterable<Element>)scope.getLocalElements());
+        //workaround for: JDK-8024687
+        Iterable<Element> elementsIt = () -> new Iterator<Element>() {
+            Iterator<? extends Element> it = scope.getLocalElements().iterator();
+            @Override
+            public boolean hasNext() {
+                while (true) {
+                    try {
+                        return it.hasNext();
+                    } catch (CompletionFailure cf) {
+                        //ignore...
+                    }
+                }
+            }
+            @Override
+            public Element next() {
+                while (true) {
+                    try {
+                        return it.next();
+                    } catch (CompletionFailure cf) {
+                        //ignore...
+                    }
+                }
+            }
+        };
+        Stream<Element> elements = Util.stream(elementsIt);
 
         if (scope.getEnclosingScope() != null &&
             scope.getEnclosingClass() != scope.getEnclosingScope().getEnclosingClass()) {
--- a/src/jdk.jshell/share/classes/jdk/jshell/TaskFactory.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/src/jdk.jshell/share/classes/jdk/jshell/TaskFactory.java	Thu Sep 08 22:13:38 2016 +0000
@@ -222,7 +222,7 @@
             this(wraps.stream(),
                     new WrapSourceHandler(),
                     Util.join(new String[] {
-                        "-Xshouldstop:at=FLOW", "-Xlint:unchecked",
+                        "--should-stop:at=FLOW", "-Xlint:unchecked",
                         "-proc:none"
                     }, extraArgs));
         }
--- a/test/jdk/jshell/CompletionSuggestionTest.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/jdk/jshell/CompletionSuggestionTest.java	Thu Sep 08 22:13:38 2016 +0000
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8141092 8153761
+ * @bug 8131025 8141092 8153761
  * @summary Test Completion
  * @modules jdk.compiler/com.sun.tools.javac.api
  *          jdk.compiler/com.sun.tools.javac.main
@@ -610,4 +610,26 @@
         keepParameterNames.setAccessible(true);
         keepParameterNames.set(getAnalysis(), new String[0]);
     }
+
+    public void testBrokenClassFile2() throws IOException {
+        Path broken = outDir.resolve("broken");
+        compiler.compile(broken,
+                "package p;\n" +
+                "public class BrokenA {\n" +
+                "}",
+                "package p.q;\n" +
+                "public class BrokenB {\n" +
+                "}",
+                "package p;\n" +
+                "public class BrokenC {\n" +
+                "}");
+        Path cp = compiler.getPath(broken);
+        Path target = cp.resolve("p").resolve("BrokenB.class");
+        Files.deleteIfExists(target);
+        Files.move(cp.resolve("p").resolve("q").resolve("BrokenB.class"), target);
+        addToClasspath(cp);
+
+        assertEval("import p.*;");
+        assertCompletion("Broke|", "BrokenA", "BrokenC");
+    }
 }
--- a/test/jdk/jshell/RejectedFailedTest.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/jdk/jshell/RejectedFailedTest.java	Thu Sep 08 22:13:38 2016 +0000
@@ -22,7 +22,7 @@
  */
 
 /*
- * @test
+ * @test 8080352
  * @summary Tests for hard errors, like syntax errors
  * @build KullaTesting
  * @run testng RejectedFailedTest
@@ -81,6 +81,7 @@
                 " a b c",
                 ")",
                 "class interface A",
+                "package foo;"
         };
         checkByKind(inputsErroneous, Kind.ERRONEOUS);
     }
--- a/test/tools/javac/ClassFileModifiers/ClassModifiers.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/ClassFileModifiers/ClassModifiers.java	Thu Sep 08 22:13:38 2016 +0000
@@ -28,7 +28,7 @@
  * file are correct, including those within InnerClasses attributes.
  * @author John Rose (jrose). Entered as a regression test by Bill Maddox (maddox).
  *
- * @compile/ref=ClassModifiers.out  -Xdebug:dumpmodifiers=ci ClassModifiers.java
+ * @compile/ref=ClassModifiers.out --debug:dumpmodifiers=ci ClassModifiers.java
  *
  */
 
--- a/test/tools/javac/ClassFileModifiers/MemberModifiers.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/ClassFileModifiers/MemberModifiers.java	Thu Sep 08 22:13:38 2016 +0000
@@ -26,7 +26,7 @@
  * @bug 4249112 4785453
  * @summary Verify that implicit member modifiers are set correctly.
  *
- * @compile/ref=MemberModifiers.out -Xdebug:dumpmodifiers=cfm MemberModifiers.java
+ * @compile/ref=MemberModifiers.out --debug:dumpmodifiers=cfm MemberModifiers.java
  */
 
 // Currently, we check only that members of final classes are not final.
--- a/test/tools/javac/Diagnostics/6722234/T6722234a.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/Diagnostics/6722234/T6722234a.java	Thu Sep 08 22:13:38 2016 +0000
@@ -3,8 +3,8 @@
  * @bug     6722234
  * @summary javac diagnostics need better integration with the type-system
  * @author  mcimadamore
- * @compile/fail/ref=T6722234a_1.out -XDrawDiagnostics -diags:formatterOptions=disambiguateTvars T6722234a.java
- * @compile/fail/ref=T6722234a_2.out -XDrawDiagnostics -diags:formatterOptions=disambiguateTvars,where T6722234a.java
+ * @compile/fail/ref=T6722234a_1.out -XDrawDiagnostics --diags:formatterOptions=disambiguateTvars T6722234a.java
+ * @compile/fail/ref=T6722234a_2.out -XDrawDiagnostics --diags:formatterOptions=disambiguateTvars,where T6722234a.java
  */
 
 class T6722234a<T extends String> {
--- a/test/tools/javac/Diagnostics/6722234/T6722234b.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/Diagnostics/6722234/T6722234b.java	Thu Sep 08 22:13:38 2016 +0000
@@ -3,8 +3,8 @@
  * @bug     6722234 8078024
  * @summary javac diagnostics need better integration with the type-system
  * @author  mcimadamore
- * @compile/fail/ref=T6722234b_1.out -XDrawDiagnostics -diags:formatterOptions=simpleNames T6722234b.java
- * @compile/fail/ref=T6722234b_2.out -XDrawDiagnostics -diags:formatterOptions=simpleNames,where T6722234b.java
+ * @compile/fail/ref=T6722234b_1.out -XDrawDiagnostics --diags:formatterOptions=simpleNames T6722234b.java
+ * @compile/fail/ref=T6722234b_2.out -XDrawDiagnostics --diags:formatterOptions=simpleNames,where T6722234b.java
  */
 
 import java.util.*;
--- a/test/tools/javac/Diagnostics/6722234/T6722234c.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/Diagnostics/6722234/T6722234c.java	Thu Sep 08 22:13:38 2016 +0000
@@ -3,7 +3,7 @@
  * @bug     6722234
  * @summary javac diagnostics need better integration with the type-system
  * @author  mcimadamore
- * @compile/fail/ref=T6722234c.out -XDrawDiagnostics -diags:formatterOptions=simpleNames T6722234c.java
+ * @compile/fail/ref=T6722234c.out -XDrawDiagnostics --diags:formatterOptions=simpleNames T6722234c.java
  */
 
 class T6722234c {
--- a/test/tools/javac/Diagnostics/6722234/T6722234d.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/Diagnostics/6722234/T6722234d.java	Thu Sep 08 22:13:38 2016 +0000
@@ -3,8 +3,8 @@
  * @bug     6722234 8078024
  * @summary javac diagnostics need better integration with the type-system
  * @author  mcimadamore
- * @compile/fail/ref=T6722234d_1.out -XDrawDiagnostics -diags:formatterOptions=where T6722234d.java
- * @compile/fail/ref=T6722234d_2.out -XDrawDiagnostics -diags:formatterOptions=where,simpleNames T6722234d.java
+ * @compile/fail/ref=T6722234d_1.out -XDrawDiagnostics --diags:formatterOptions=where T6722234d.java
+ * @compile/fail/ref=T6722234d_2.out -XDrawDiagnostics --diags:formatterOptions=where,simpleNames T6722234d.java
  */
 
 class T6722234d {
--- a/test/tools/javac/Diagnostics/6862608/T6862608a.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/Diagnostics/6862608/T6862608a.java	Thu Sep 08 22:13:38 2016 +0000
@@ -3,7 +3,7 @@
  * @bug     6862608
  * @summary rich diagnostic sometimes contain wrong type variable numbering
  * @author  mcimadamore
- * @compile/fail/ref=T6862608a.out -XDrawDiagnostics -diags:formatterOptions=disambiguateTvars,where T6862608a.java
+ * @compile/fail/ref=T6862608a.out -XDrawDiagnostics --diags:formatterOptions=disambiguateTvars,where T6862608a.java
  */
 
 
--- a/test/tools/javac/Diagnostics/6862608/T6862608b.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/Diagnostics/6862608/T6862608b.java	Thu Sep 08 22:13:38 2016 +0000
@@ -3,7 +3,7 @@
  * @bug     6862608
  * @summary rich diagnostic sometimes contain wrong type variable numbering
  * @author  mcimadamore
- * @compile/fail/ref=T6862608b.out -XDrawDiagnostics -diags:formatterOptions=disambiguateTvars,where T6862608b.java
+ * @compile/fail/ref=T6862608b.out -XDrawDiagnostics --diags:formatterOptions=disambiguateTvars,where T6862608b.java
  */
 
 class T66862608b<T extends String, S> {
--- a/test/tools/javac/Diagnostics/7010608/Test.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/Diagnostics/7010608/Test.java	Thu Sep 08 22:13:38 2016 +0000
@@ -46,9 +46,9 @@
         try {
             test(Arrays.<String>asList(),
                     "myfo://test:1: error: cannot find symbol");
-            test(Arrays.asList("-diags:layout=OLD"),
+            test(Arrays.asList("--diags:layout=OLD"),
                     "myfo://test:1: cannot find symbol");
-            test(Arrays.asList("-diags:legacy"),
+            test(Arrays.asList("--diags:legacy"),
                     "myfo://test:1: cannot find symbol");
         } finally {
             Locale.setDefault(prev);
--- a/test/tools/javac/Diagnostics/8010387/T8010387.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/Diagnostics/8010387/T8010387.java	Thu Sep 08 22:13:38 2016 +0000
@@ -2,7 +2,7 @@
  * @test /nodynamiccopyright/
  * @bug     8010387
  * @summary rich diagnostic sometimes contain wrong type variable numbering
- * @compile/fail/ref=T8010387.out -XDrawDiagnostics -diags:formatterOptions=disambiguateTvars,where T8010387.java
+ * @compile/fail/ref=T8010387.out -XDrawDiagnostics --diags:formatterOptions=disambiguateTvars,where T8010387.java
  */
 abstract class T8010387<X> {
 
--- a/test/tools/javac/InterfaceMemberClassModifiers.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/InterfaceMemberClassModifiers.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Verify that invalid access modifiers on interface members don't cause crash.
  * @author maddox
  *
- * @compile/fail/ref=InterfaceMemberClassModifiers.out -diags:layout=%b:%l:%_%m InterfaceMemberClassModifiers.java
+ * @compile/fail/ref=InterfaceMemberClassModifiers.out --diags:layout=%b:%l:%_%m InterfaceMemberClassModifiers.java
  */
 
 public interface InterfaceMemberClassModifiers {
--- a/test/tools/javac/T5003235/T5003235a.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/T5003235/T5003235a.java	Thu Sep 08 22:13:38 2016 +0000
@@ -3,7 +3,7 @@
  * @bug     5003235
  * @summary Private inner class accessible from subclasses
  * @author  Peter von der Ah\u00e9
- * @compile/fail/ref=T5003235a.out -diags:layout=%b:%l:%_%m T5003235a.java
+ * @compile/fail/ref=T5003235a.out --diags:layout=%b:%l:%_%m T5003235a.java
  */
 
 class Super {
--- a/test/tools/javac/T5003235/T5003235b.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/T5003235/T5003235b.java	Thu Sep 08 22:13:38 2016 +0000
@@ -3,7 +3,7 @@
  * @bug     5003235
  * @summary Accessibility of private inner class
  * @author  Peter von der Ah\u00e9
- * @compile/fail/ref=T5003235b.out -diags:layout=%b:%l:%_%m T5003235b.java
+ * @compile/fail/ref=T5003235b.out --diags:layout=%b:%l:%_%m T5003235b.java
  */
 
 class Outer {
--- a/test/tools/javac/T6214885.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/T6214885.java	Thu Sep 08 22:13:38 2016 +0000
@@ -2,8 +2,8 @@
  * @test  /nodynamiccopyright/
  * @bug 6214885
  * @summary This test exercises features provided by the new internal Diagnostics API
- * @compile/fail/ref=T6214885a.out -diags:layout=%b:%l%_%t%m|%p%m T6214885.java
- * @compile/fail/ref=T6214885b.out -diags:layout=%b:%l:%c%_%t%m|%p%m T6214885.java
+ * @compile/fail/ref=T6214885a.out --diags:layout=%b:%l%_%t%m|%p%m T6214885.java
+ * @compile/fail/ref=T6214885b.out --diags:layout=%b:%l:%c%_%t%m|%p%m T6214885.java
  */
 class T6214885
 {
--- a/test/tools/javac/T8026963/TypeAnnotationsCrashWithErroneousTreeTest.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/T8026963/TypeAnnotationsCrashWithErroneousTreeTest.java	Thu Sep 08 22:13:38 2016 +0000
@@ -2,7 +2,7 @@
  * @test /nodynamiccopyright/
  * @bug 8026963
  * @summary type annotations code crashes for lambdas with void argument
- * @compile/fail/ref=TypeAnnotationsCrashWithErroneousTreeTest.out -XDrawDiagnostics -Xshouldstop:at=FLOW TypeAnnotationsCrashWithErroneousTreeTest.java
+ * @compile/fail/ref=TypeAnnotationsCrashWithErroneousTreeTest.out -XDrawDiagnostics --should-stop:at=FLOW TypeAnnotationsCrashWithErroneousTreeTest.java
  */
 
 public class TypeAnnotationsCrashWithErroneousTreeTest {
--- a/test/tools/javac/annotations/neg/8022765/VerifyErroneousAnnotationsAttributed.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/annotations/neg/8022765/VerifyErroneousAnnotationsAttributed.java	Thu Sep 08 22:13:38 2016 +0000
@@ -237,7 +237,7 @@
         JavacTask task = tool.getTask(null,
                                       fm,
                                       devNull,
-                                      Arrays.asList("-Xshouldstop:at=FLOW"),
+                                      Arrays.asList("--should-stop:at=FLOW"),
                                       null,
                                       Arrays.asList(new MyFileObject(code)));
 
--- a/test/tools/javac/annotations/typeAnnotations/newlocations/AfterMethodTypeParams.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/newlocations/AfterMethodTypeParams.java	Thu Sep 08 22:13:38 2016 +0000
@@ -54,7 +54,7 @@
             String test = TEMPLATE.replace("CONTENT", tc.snippet);
             List<JavaFileObject> files = Arrays.asList(new MyFileObject(test));
             StringWriter out = new StringWriter();
-            List<String> options = Arrays.asList("-XDrawDiagnostics", "-Xshouldstop:at=FLOW");
+            List<String> options = Arrays.asList("-XDrawDiagnostics", "--should-stop:at=FLOW");
             JavacTask task = (JavacTask) compiler.getTask(out, null, null, options, null, files);
 
             new TreePathScanner<Void, Void>() {
--- a/test/tools/javac/api/6731573/T6731573.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/api/6731573/T6731573.java	Thu Sep 08 22:13:38 2016 +0000
@@ -62,8 +62,8 @@
 
     enum SourceLine {
         STANDARD(null),
-        ENABLED("-diags:showSource=true"),
-        DISABLED("-diags:showSource=false");
+        ENABLED("--diags:showSource=true"),
+        DISABLED("--diags:showSource=false");
 
         String optValue;
 
--- a/test/tools/javac/api/taskListeners/EventsBalancedTest.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/api/taskListeners/EventsBalancedTest.java	Thu Sep 08 22:13:38 2016 +0000
@@ -63,11 +63,11 @@
         test(null, Arrays.asList(b, a));
 
         for (CompileState stop : CompileState.values()) {
-            test(Arrays.asList("-Xshouldstop:ifNoError=" + stop,
-                               "-Xshouldstop:ifError=" + stop),
+            test(Arrays.asList("--should-stop:ifNoError=" + stop,
+                               "--should-stop:ifError=" + stop),
                  Arrays.asList(a, b));
-            test(Arrays.asList("-Xshouldstop:ifNoError=" + stop,
-                               "-Xshouldstop:ifError=" + stop),
+            test(Arrays.asList("--should-stop:ifNoError=" + stop,
+                               "--should-stop:ifError=" + stop),
                  Arrays.asList(b, a));
         }
     }
--- a/test/tools/javac/completionDeps/DepsAndAnno.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/completionDeps/DepsAndAnno.java	Thu Sep 08 22:13:38 2016 +0000
@@ -47,7 +47,7 @@
     public static void main(String[] args) {
         ToolBox toolBox = new ToolBox();
         new JavacTask(toolBox, Task.Mode.CMDLINE)
-               .options("-Xdebug:completionDeps")
+               .options("--debug:completionDeps")
                .outdir(".")
                .files(ToolBox.testSrc + "/DepsAndAnno.java")
                .run();
--- a/test/tools/javac/completionDeps/DepsAndDocLint.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/completionDeps/DepsAndDocLint.java	Thu Sep 08 22:13:38 2016 +0000
@@ -25,7 +25,7 @@
  * @test
  * @bug 8078389
  * @summary Make sure there is no interference between completionDeps and doclint
- * @compile -Xdebug:completionDeps -Xdoclint DepsAndDocLint.java
+ * @compile --debug:completionDeps -Xdoclint DepsAndDocLint.java
  */
 
 public class DepsAndDocLint {
--- a/test/tools/javac/diags/CheckResourceKeys.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/CheckResourceKeys.java	Thu Sep 08 22:13:38 2016 +0000
@@ -260,8 +260,8 @@
                 // ignore debug flag names
                 if (cs.startsWith("debug."))
                     continue;
-                // ignore shouldstop flag names
-                if (cs.startsWith("shouldstop."))
+                // ignore should-stop flag names
+                if (cs.startsWith("should-stop."))
                     continue;
                 // ignore diagsformat flag names
                 if (cs.startsWith("diags."))
--- a/test/tools/javac/diags/examples/ApplicableMethodFound.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/ApplicableMethodFound.java	Thu Sep 08 22:13:38 2016 +0000
@@ -23,7 +23,7 @@
 
 // key: compiler.misc.applicable.method.found
 // key: compiler.note.verbose.resolve.multi
-// options: -Xdebug:verboseResolution=applicable,success
+// options: --debug:verboseResolution=applicable,success
 
 class ApplicableMethodFound {
 
--- a/test/tools/javac/diags/examples/ApplicableMethodFound1.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/ApplicableMethodFound1.java	Thu Sep 08 22:13:38 2016 +0000
@@ -24,7 +24,7 @@
 // key: compiler.misc.applicable.method.found.1
 // key: compiler.note.verbose.resolve.multi
 // key: compiler.misc.partial.inst.sig
-// options: -Xdebug:verboseResolution=applicable,success
+// options: --debug:verboseResolution=applicable,success
 
 class ApplicableMethodFound1 {
 
--- a/test/tools/javac/diags/examples/DeferredMethodInst.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/DeferredMethodInst.java	Thu Sep 08 22:13:38 2016 +0000
@@ -25,7 +25,7 @@
 // key: compiler.note.verbose.resolve.multi
 // key: compiler.note.deferred.method.inst
 // key: compiler.misc.partial.inst.sig
-// options: -Xdebug:verboseResolution=applicable,success,deferred-inference
+// options: --debug:verboseResolution=applicable,success,deferred-inference
 
 class DeferredMethodInst {
 
--- a/test/tools/javac/diags/examples/LambdaStat.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/LambdaStat.java	Thu Sep 08 22:13:38 2016 +0000
@@ -22,7 +22,7 @@
  */
 
 // key: compiler.note.lambda.stat
-// options: -Xdebug:dumpLambdaToMethodStats
+// options: --debug:dumpLambdaToMethodStats
 
 class LambdaStat {
     Runnable r = ()->{};
--- a/test/tools/javac/diags/examples/MrefStat.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/MrefStat.java	Thu Sep 08 22:13:38 2016 +0000
@@ -22,7 +22,7 @@
  */
 
 // key: compiler.note.mref.stat
-// options: -Xdebug:dumpLambdaToMethodStats
+// options: --debug:dumpLambdaToMethodStats
 
 class MrefStat {
     Runnable r = MrefStat::m;
--- a/test/tools/javac/diags/examples/MrefStat1.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/MrefStat1.java	Thu Sep 08 22:13:38 2016 +0000
@@ -22,7 +22,7 @@
  */
 
 // key: compiler.note.mref.stat.1
-// options: -Xdebug:dumpLambdaToMethodStats
+// options: --debug:dumpLambdaToMethodStats
 
 class MrefStat1 {
 
--- a/test/tools/javac/diags/examples/NotApplicableMethodFound.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/NotApplicableMethodFound.java	Thu Sep 08 22:13:38 2016 +0000
@@ -26,7 +26,7 @@
 // key: compiler.err.cant.apply.symbol
 // key: compiler.misc.no.conforming.assignment.exists
 // key: compiler.misc.inconvertible.types
-// options: -Xdebug:verboseResolution=inapplicable,failure
+// options: --debug:verboseResolution=inapplicable,failure
 
 class NotApplicableMethodFound {
 
--- a/test/tools/javac/diags/examples/PartialInstSig.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/PartialInstSig.java	Thu Sep 08 22:13:38 2016 +0000
@@ -24,7 +24,7 @@
 // key: compiler.misc.applicable.method.found.1
 // key: compiler.note.verbose.resolve.multi
 // key: compiler.misc.partial.inst.sig
-// options: -Xdebug:verboseResolution=applicable,success
+// options: --debug:verboseResolution=applicable,success
 
 class PartialInstSig {
 
--- a/test/tools/javac/diags/examples/VerboseResolveMulti.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/VerboseResolveMulti.java	Thu Sep 08 22:13:38 2016 +0000
@@ -23,7 +23,7 @@
 
 // key: compiler.misc.applicable.method.found
 // key: compiler.note.verbose.resolve.multi
-// options: -Xdebug:verboseResolution=applicable,success
+// options: --debug:verboseResolution=applicable,success
 
 class VerboseResolveMulti {
 
--- a/test/tools/javac/diags/examples/VerboseResolveMulti1.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/VerboseResolveMulti1.java	Thu Sep 08 22:13:38 2016 +0000
@@ -26,7 +26,7 @@
 // key: compiler.err.cant.apply.symbol
 // key: compiler.misc.no.conforming.assignment.exists
 // key: compiler.misc.inconvertible.types
-// options: -Xdebug:verboseResolution=inapplicable,failure
+// options: --debug:verboseResolution=inapplicable,failure
 
 class VerboseResolveMulti1 {
 
--- a/test/tools/javac/diags/examples/WhereCaptured.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/WhereCaptured.java	Thu Sep 08 22:13:38 2016 +0000
@@ -28,7 +28,7 @@
 // key: compiler.err.cant.apply.symbol
 // key: compiler.misc.incompatible.eq.bounds
 // key: compiler.misc.captured.type
-// options: -diags:formatterOptions=where,simpleNames
+// options: --diags:formatterOptions=where,simpleNames
 // run: simple
 
 import java.util.*;
--- a/test/tools/javac/diags/examples/WhereCaptured1.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/WhereCaptured1.java	Thu Sep 08 22:13:38 2016 +0000
@@ -29,7 +29,7 @@
 // key: compiler.misc.incompatible.eq.bounds
 // key: compiler.misc.captured.type
 // key: compiler.misc.type.null
-// options: -diags:formatterOptions=where,simpleNames
+// options: --diags:formatterOptions=where,simpleNames
 // run: simple
 
 import java.util.*;
--- a/test/tools/javac/diags/examples/WhereFreshTvar.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/WhereFreshTvar.java	Thu Sep 08 22:13:38 2016 +0000
@@ -25,7 +25,7 @@
 // key: compiler.misc.where.description.typevar
 // key: compiler.err.prob.found.req
 // key: compiler.misc.inconvertible.types
-// options: -diags:formatterOptions=where,simpleNames
+// options: --diags:formatterOptions=where,simpleNames
 // run: simple
 
 import java.util.*;
--- a/test/tools/javac/diags/examples/WhereIntersection.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/WhereIntersection.java	Thu Sep 08 22:13:38 2016 +0000
@@ -26,7 +26,7 @@
 // key: compiler.misc.where.description.intersection.1
 // key: compiler.misc.where.intersection
 // key: compiler.err.prob.found.req
-// options: -diags:formatterOptions=where
+// options: --diags:formatterOptions=where
 // run: simple
 
 class WhereIntersection {
--- a/test/tools/javac/diags/examples/WhereIntersection2.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/WhereIntersection2.java	Thu Sep 08 22:13:38 2016 +0000
@@ -29,7 +29,7 @@
 // key: compiler.misc.where.description.intersection
 // key: compiler.misc.where.intersection
 // key: compiler.err.prob.found.req
-// options: -diags:formatterOptions=where
+// options: --diags:formatterOptions=where
 // run: simple
 
 class WhereIntersection2 {
--- a/test/tools/javac/diags/examples/WhereTypeVar.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/WhereTypeVar.java	Thu Sep 08 22:13:38 2016 +0000
@@ -27,7 +27,7 @@
 // key: compiler.err.cant.apply.symbol
 // key: compiler.misc.no.conforming.assignment.exists
 // key: compiler.misc.inconvertible.types
-// options: -diags:formatterOptions=where,disambiguateTvars
+// options: --diags:formatterOptions=where,disambiguateTvars
 // run: simple
 
 class WhereTypeVar<T extends String> {
--- a/test/tools/javac/diags/examples/WhereTypeVar2.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/diags/examples/WhereTypeVar2.java	Thu Sep 08 22:13:38 2016 +0000
@@ -25,7 +25,7 @@
 // key: compiler.misc.where.description.typevar
 // key: compiler.misc.where.typevar
 // key: compiler.err.prob.found.req
-// options: -diags:formatterOptions=where
+// options: --diags:formatterOptions=where
 // run: simple
 
 class WhereTypeVar2 {
--- a/test/tools/javac/failover/CheckAttributedTree.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/CheckAttributedTree.java	Thu Sep 08 22:13:38 2016 +0000
@@ -311,7 +311,7 @@
                 final List<CompilationUnitTree> trees = new ArrayList<>();
                 Iterable<? extends Element> elems = newCompilationTask()
                     .withWriter(pw)
-                        .withOption("-Xshouldstop:at=ATTR")
+                        .withOption("--should-stop:at=ATTR")
                         .withOption("-XDverboseCompilePolicy")
                         .withSource(files.iterator().next())
                         .withListener(new TaskListener() {
--- a/test/tools/javac/failover/FailOver01.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver01.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver01.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver01.java
+ * @compile/fail/ref=FailOver01.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver01.java
  */
 
 class Test { { x = "" } }
--- a/test/tools/javac/failover/FailOver02.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver02.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver02.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver02.java
+ * @compile/fail/ref=FailOver02.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver02.java
  */
 
 class Test implements AutoCloseable {
--- a/test/tools/javac/failover/FailOver03.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver03.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver03.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver03.java
+ * @compile/fail/ref=FailOver03.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver03.java
  */
 
 class Test extends Test {
--- a/test/tools/javac/failover/FailOver04.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver04.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver04.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver04.java
+ * @compile/fail/ref=FailOver04.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver04.java
  */
 
 class Test {
--- a/test/tools/javac/failover/FailOver05.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver05.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver05.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver05.java
+ * @compile/fail/ref=FailOver05.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver05.java
  */
 
 class Test extends Test {
--- a/test/tools/javac/failover/FailOver06.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver06.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver06.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver06.java
+ * @compile/fail/ref=FailOver06.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver06.java
  */
 
 class Test extends Test {
--- a/test/tools/javac/failover/FailOver07.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver07.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver07.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver07.java
+ * @compile/fail/ref=FailOver07.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver07.java
  */
 
 class Test extends Test {
--- a/test/tools/javac/failover/FailOver08.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver08.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver08.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver08.java
+ * @compile/fail/ref=FailOver08.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver08.java
  */
 
 class Test extends Test {
--- a/test/tools/javac/failover/FailOver09.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver09.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver09.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver09.java
+ * @compile/fail/ref=FailOver09.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver09.java
  */
 
 class Test extends Test {
--- a/test/tools/javac/failover/FailOver10.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver10.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver10.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver10.java
+ * @compile/fail/ref=FailOver10.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver10.java
  */
 
 class Test extends Test {
--- a/test/tools/javac/failover/FailOver11.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver11.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver11.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver11.java
+ * @compile/fail/ref=FailOver11.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver11.java
  */
 
 class Test extends Test {
--- a/test/tools/javac/failover/FailOver12.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver12.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver12.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver12.java
+ * @compile/fail/ref=FailOver12.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver12.java
  */
 
 class Test extends Test {
--- a/test/tools/javac/failover/FailOver13.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver13.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver13.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver13.java
+ * @compile/fail/ref=FailOver13.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver13.java
  */
 
 class Test extends Test {
--- a/test/tools/javac/failover/FailOver14.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver14.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Flow.java should be more error-friendly
  * @author mcimadamore
  *
- * @compile/fail/ref=FailOver14.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver14.java
+ * @compile/fail/ref=FailOver14.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver14.java
  */
 
 class Test extends Test  {
--- a/test/tools/javac/failover/FailOver15.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/failover/FailOver15.java	Thu Sep 08 22:13:38 2016 +0000
@@ -3,7 +3,7 @@
  * @bug 6970584 7060926
  * @summary Attr.PostAttrAnalyzer misses a case
  *
- * @compile/fail/ref=FailOver15.out -XDrawDiagnostics -Xshouldstop:at=FLOW -XDdev FailOver15.java
+ * @compile/fail/ref=FailOver15.out -XDrawDiagnostics --should-stop:at=FLOW -XDdev FailOver15.java
  */
 
 class Test {
--- a/test/tools/javac/generics/inference/8158355/T8158355.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/generics/inference/8158355/T8158355.java	Thu Sep 08 22:13:38 2016 +0000
@@ -27,7 +27,7 @@
  * @test
  * @bug 8158355
  * @summary Inference graph dot support broken
- * @compile -Xdebug:dumpInferenceGraphsTo=. T8158355.java
+ * @compile --debug:dumpInferenceGraphsTo=. T8158355.java
  */
 import java.util.List;
 
--- a/test/tools/javac/lambda/MostSpecific09.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/lambda/MostSpecific09.java	Thu Sep 08 22:13:38 2016 +0000
@@ -2,7 +2,7 @@
  * @test /nodynamiccopyright/
  * @bug 8029718
  * @summary Should always use lambda body structure to disambiguate overload resolution
- * @compile/fail/ref=MostSpecific09.out -XDrawDiagnostics -Xshouldstop:at=ATTR -Xdebug:verboseResolution=applicable,success MostSpecific09.java
+ * @compile/fail/ref=MostSpecific09.out -XDrawDiagnostics --should-stop:at=ATTR --debug:verboseResolution=applicable,success MostSpecific09.java
  */
 
 class MostSpecific09 {
--- a/test/tools/javac/lambda/MostSpecific09.out	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/lambda/MostSpecific09.out	Thu Sep 08 22:13:38 2016 +0000
@@ -3,7 +3,7 @@
 MostSpecific09.java:27:9: compiler.note.verbose.resolve.multi: foo, MostSpecific09, 0, BASIC, compiler.misc.type.none, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, foo(MostSpecific09.J), null)}
 MostSpecific09.java:27:32: compiler.note.verbose.resolve.multi: println, java.io.PrintStream, 1, BASIC, java.lang.String, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, println(java.lang.Object), null),(compiler.misc.applicable.method.found: 1, println(java.lang.String), null)}
 MostSpecific09.java:28:13: compiler.err.lambda.body.neither.value.nor.void.compatible
-MostSpecific09.java:28:9: compiler.err.cant.apply.symbols: kindname.method, foo, @681,{(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.I), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.ret.type.in.lambda: (compiler.misc.missing.ret.val: java.lang.String)))),(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.J), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.unexpected.ret.val)))}
+MostSpecific09.java:28:9: compiler.err.cant.apply.symbols: kindname.method, foo, @682,{(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.I), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.ret.type.in.lambda: (compiler.misc.missing.ret.val: java.lang.String)))),(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.J), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.unexpected.ret.val)))}
 MostSpecific09.java:28:43: compiler.note.verbose.resolve.multi: println, java.io.PrintStream, 1, BASIC, java.lang.String, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, println(java.lang.Object), null),(compiler.misc.applicable.method.found: 1, println(java.lang.String), null)}
 MostSpecific09.java:29:9: compiler.err.ref.ambiguous: foo, kindname.method, foo(MostSpecific09.I), MostSpecific09, kindname.method, foo(MostSpecific09.J), MostSpecific09
 MostSpecific09.java:29:28: compiler.note.verbose.resolve.multi: <init>, java.lang.RuntimeException, 0, BASIC, compiler.misc.no.args, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, java.lang.RuntimeException(), null)}
@@ -11,7 +11,7 @@
 MostSpecific09.java:32:9: compiler.err.ref.ambiguous: foo, kindname.method, foo(MostSpecific09.I), MostSpecific09, kindname.method, foo(MostSpecific09.J), MostSpecific09
 MostSpecific09.java:33:9: compiler.note.verbose.resolve.multi: foo, MostSpecific09, 0, BASIC, compiler.misc.type.none, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, foo(MostSpecific09.I), null)}
 MostSpecific09.java:42:13: compiler.err.lambda.body.neither.value.nor.void.compatible
-MostSpecific09.java:42:9: compiler.err.cant.apply.symbols: kindname.method, foo, @1130,{(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.I), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.ret.type.in.lambda: (compiler.misc.missing.ret.val: java.lang.String)))),(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.J), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.unexpected.ret.val)))}
+MostSpecific09.java:42:9: compiler.err.cant.apply.symbols: kindname.method, foo, @1131,{(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.I), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.ret.type.in.lambda: (compiler.misc.missing.ret.val: java.lang.String)))),(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.J), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.unexpected.ret.val)))}
 MostSpecific09.java:46:23: compiler.note.verbose.resolve.multi: println, java.io.PrintStream, 1, BASIC, java.lang.String, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, println(java.lang.Object), null),(compiler.misc.applicable.method.found: 1, println(java.lang.String), null)}
 MostSpecific09.java:49:9: compiler.note.verbose.resolve.multi: foo, MostSpecific09, 0, BASIC, compiler.misc.type.none, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, foo(MostSpecific09.J), null)}
 MostSpecific09.java:56:25: compiler.note.verbose.resolve.multi: <init>, Bar, 0, BASIC, compiler.misc.no.args, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, Bar(), null)}
--- a/test/tools/javac/lambda/TestLambdaToMethodStats.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/lambda/TestLambdaToMethodStats.java	Thu Sep 08 22:13:38 2016 +0000
@@ -122,7 +122,7 @@
     @Override
     public void doWork() throws IOException {
         check(newCompilationTask()
-                .withOption("-Xdebug:dumpLambdaToMethodStats")
+                .withOption("--debug:dumpLambdaToMethodStats")
                 .withSourceFromTemplate(template)
                 .generate());
     }
--- a/test/tools/javac/lambda/XDdumpLambdaToMethodStats.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/lambda/XDdumpLambdaToMethodStats.java	Thu Sep 08 22:13:38 2016 +0000
@@ -25,7 +25,7 @@
  * @test
  * @bug 8143217
  * @summary javac throws NPE when printing diagnostics for Lambda expressions
- * @compile XDdumpLambdaToMethodStats.java -Xdebug:dumpLambdaToMethodStats
+ * @compile XDdumpLambdaToMethodStats.java --debug:dumpLambdaToMethodStats
  *
  */
 
--- a/test/tools/javac/lambda/bridge/TestMetafactoryBridges.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/lambda/bridge/TestMetafactoryBridges.java	Thu Sep 08 22:13:38 2016 +0000
@@ -274,7 +274,7 @@
             sourcefiles.add(new JavaSource(ck));
         }
         JavacTask ct = (JavacTask)tool.getTask(debugWriter, null, diagChecker,
-                    Arrays.asList("-Xdebug:dumpLambdaToMethodStats", "-d", outDir.getAbsolutePath(),
+                    Arrays.asList("--debug:dumpLambdaToMethodStats", "-d", outDir.getAbsolutePath(),
                                   "-sourcepath", srcDir.getAbsolutePath(),
                                   "-classpath", classesDir.getAbsolutePath(),
                                   pp.preferOpt), null, sourcefiles);
--- a/test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java	Thu Sep 08 22:13:38 2016 +0000
@@ -210,7 +210,7 @@
     public void doWork() throws Throwable {
         check(newCompilationTask()
                 .withSourceFromTemplate(sourceTemplate)
-                .withOption("-Xdebug:verboseResolution=all,-predef,-internal,-object-init")
+                .withOption("--debug:verboseResolution=all,-predef,-internal,-object-init")
                 .analyze());
     }
 
--- a/test/tools/javac/missingSuperRecovery/MissingSuperRecovery.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/missingSuperRecovery/MissingSuperRecovery.java	Thu Sep 08 22:13:38 2016 +0000
@@ -5,7 +5,7 @@
  * class is no longer available during a subsequent compilation.
  * @author maddox
  * @build impl
- * @compile/fail/ref=MissingSuperRecovery.out -diags:layout=%b:%l:%_%m MissingSuperRecovery.java
+ * @compile/fail/ref=MissingSuperRecovery.out --diags:layout=%b:%l:%_%m MissingSuperRecovery.java
  */
 
 // Requires "golden" class file 'impl.class', which contains
--- a/test/tools/javac/modules/AddLimitMods.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/modules/AddLimitMods.java	Thu Sep 08 22:13:38 2016 +0000
@@ -119,7 +119,7 @@
         //real test
         new JavacTask(tb)
                 .options("--module-path", modulePath.toString(),
-                         "-Xshouldstop:ifNoError=FLOW",
+                         "--should-stop:ifNoError=FLOW",
                          "--limit-modules", "java.base")
                 .outdir(modulePath)
                 .files(findJavaFiles(m1))
@@ -128,7 +128,7 @@
 
         new JavacTask(tb)
                 .options("--module-path", modulePath.toString(),
-                         "-Xshouldstop:ifNoError=FLOW",
+                         "--should-stop:ifNoError=FLOW",
                          "--limit-modules", "java.base",
                          "--add-modules", "m2")
                 .outdir(modulePath)
@@ -138,7 +138,7 @@
 
         new JavacTask(tb)
                 .options("--module-path", modulePath.toString(),
-                         "-Xshouldstop:ifNoError=FLOW",
+                         "--should-stop:ifNoError=FLOW",
                          "--limit-modules", "java.base",
                          "--add-modules", "m2,m3")
                 .outdir(modulePath)
@@ -148,7 +148,7 @@
 
         new JavacTask(tb)
                 .options("--module-path", modulePath.toString(),
-                         "-Xshouldstop:ifNoError=FLOW",
+                         "--should-stop:ifNoError=FLOW",
                          "--limit-modules", "m2")
                 .outdir(modulePath)
                 .files(findJavaFiles(m1))
@@ -157,7 +157,7 @@
 
         new JavacTask(tb)
                 .options("--module-path", modulePath.toString(),
-                         "-Xshouldstop:ifNoError=FLOW",
+                         "--should-stop:ifNoError=FLOW",
                          "--limit-modules", "m3")
                 .outdir(modulePath)
                 .files(findJavaFiles(m1))
@@ -166,7 +166,7 @@
 
         new JavacTask(tb)
                 .options("--module-path", modulePath.toString(),
-                         "-Xshouldstop:ifNoError=FLOW",
+                         "--should-stop:ifNoError=FLOW",
                          "--limit-modules", "m3",
                          "--add-modules", "m2")
                 .outdir(modulePath)
@@ -473,7 +473,7 @@
                                            auxOptions,
                                            "--module-path", modulePath.toString(),
                                            "--class-path", classpathOut.toString(),
-                                           "-Xshouldstop:ifNoError=FLOW"))
+                                           "--should-stop:ifNoError=FLOW"))
                    .outdir(modulePath)
                    .files(findJavaFiles(m2))
                    .run(success ? Task.Expect.SUCCESS : Task.Expect.FAIL)
--- a/test/tools/javac/policy/test3/Test.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/policy/test3/Test.java	Thu Sep 08 22:13:38 2016 +0000
@@ -30,7 +30,7 @@
 import java.io.*;
 import java.util.*;
 
-// Simple test of -Xshouldstop:at.
+// Simple test of --should-stop:at.
 // For each of the permissable values, we compile a file with an error in it,
 // then using -XDverboseCompilePolicy we check that the compilation gets as
 // far as expected, but no further.
@@ -83,7 +83,7 @@
         args.add("-d");
         args.add(".");
         if (ssp.needOption)
-            args.add("-Xshouldstop:at=" + ssp);
+            args.add("--should-stop:at=" + ssp);
         args.add(new File(System.getProperty("test.src", "."), "A.java").getPath());
 
         StringWriter sw = new StringWriter();
--- a/test/tools/javac/positions/TreeEndPosTest.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/positions/TreeEndPosTest.java	Thu Sep 08 22:13:38 2016 +0000
@@ -145,7 +145,7 @@
             options.add(tempDir.getPath());
             options.add("-d");
             options.add(tempDir.getPath());
-            options.add("-Xshouldstop:at=GENERATE");
+            options.add("--should-stop:at=GENERATE");
 
             List<JavaFileObject> sources = new ArrayList<>();
             sources.add(src);
--- a/test/tools/javac/protectedAccess/ProtectedMemberAccess2.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/protectedAccess/ProtectedMemberAccess2.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Verify correct implementation of JLS2e 6.6.2.1
  * @author maddox
  *
- * @compile/fail/ref=ProtectedMemberAccess2.out -diags:formatterOptions=-simpleNames;layout=%b:%l:%_%m ProtectedMemberAccess2.java
+ * @compile/fail/ref=ProtectedMemberAccess2.out --diags:formatterOptions=-simpleNames;layout=%b:%l:%_%m ProtectedMemberAccess2.java
  */
 
 // 71 errors expected.
--- a/test/tools/javac/protectedAccess/ProtectedMemberAccess3.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/protectedAccess/ProtectedMemberAccess3.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Verify correct implementation of JLS2e 6.6.2.1
  * @author maddox
  *
- * @compile/fail/ref=ProtectedMemberAccess3.out -diags:formatterOptions=-simpleNames;layout=%b:%l:%_%m ProtectedMemberAccess3.java
+ * @compile/fail/ref=ProtectedMemberAccess3.out --diags:formatterOptions=-simpleNames;layout=%b:%l:%_%m ProtectedMemberAccess3.java
  */
 
 // 46 errors expected.
--- a/test/tools/javac/protectedAccess/ProtectedMemberAccess4.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/protectedAccess/ProtectedMemberAccess4.java	Thu Sep 08 22:13:38 2016 +0000
@@ -4,7 +4,7 @@
  * @summary Verify correct implementation of JLS2e 6.6.2.1
  * @author maddox
  *
- * @compile/fail/ref=ProtectedMemberAccess4.out -diags:formatterOptions=-simpleNames;layout=%b:%l:%_%m ProtectedMemberAccess4.java
+ * @compile/fail/ref=ProtectedMemberAccess4.out --diags:formatterOptions=-simpleNames;layout=%b:%l:%_%m ProtectedMemberAccess4.java
  */
 
 // 33 errors expected.
--- a/test/tools/javac/resolve/ResolveHarness.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/resolve/ResolveHarness.java	Thu Sep 08 22:13:38 2016 +0000
@@ -132,8 +132,8 @@
 
     protected void check() throws Exception {
         String[] options = {
-            "-Xshouldstop:at=ATTR",
-            "-Xdebug:verboseResolution=success,failure,applicable,inapplicable,deferred-inference,predef"
+            "--should-stop:at=ATTR",
+            "--debug:verboseResolution=success,failure,applicable,inapplicable,deferred-inference,predef"
         };
 
         AbstractProcessor[] processors = { new ResolveCandidateFinder(), null };
--- a/test/tools/javac/unicode/UnicodeNewline.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/javac/unicode/UnicodeNewline.java	Thu Sep 08 22:13:38 2016 +0000
@@ -3,7 +3,7 @@
  * @bug 4739428 4785453
  * @summary when \u000a is used, diagnostics are reported on the wrong line.
  *
- * @compile/fail/ref=UnicodeNewline.out -diags:layout=%b:%l:%_%m UnicodeNewline.java
+ * @compile/fail/ref=UnicodeNewline.out --diags:layout=%b:%l:%_%m UnicodeNewline.java
  */
 
 class UnicodeNewline {
--- a/test/tools/sjavac/JavacOptionPrep.java	Thu Sep 08 21:11:55 2016 +0000
+++ b/test/tools/sjavac/JavacOptionPrep.java	Thu Sep 08 22:13:38 2016 +0000
@@ -96,7 +96,7 @@
 
             // Ignore this option for now. When the file=... requirement goes
             // away, this will be easier to handle.
-            if (option.startsWith("-Xdebug:completionDeps"))
+            if (option.startsWith("--debug:completionDeps"))
                 continue;
 
             switch (option) {