-XD-relax doesn't work
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Wed Jan 20 01:03:43 UTC 2016
Thanks
I'll add that to the list of flags to cleanup :-)
Maurizio
On 20/01/16 00:49, Liam Miller-Cushon wrote:
> I think that -XD-relax has been broken since JDK8. My understanding is
> that it was added in the jsr14 era, so maybe it should just be removed?
>
> The fix is:
>
> diff -r 6149fc30cd71
> src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java
> ---
> a/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java
> Thu Jan 14 12:03:24 2016 -0800
> +++
> b/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java
> Tue Jan 19 16:34:56 2016 -0800
> @@ -1281,6 +1281,7 @@
> return;
>
> if (relax) {
> + compileStates.put(env, CompileState.FLOW);
> results.add(env);
> return;
> }
>
> Repro:
>
> $ cat Test.java
> class Test {}
> $ javac -XD-relax Test.java
> An exception has occurred in the compiler (1.9.0-internal). Please
> file a bug against the Java compiler via the Java bug reporting page
> (http://bugreport.java.com) after checking the Bug Database
> (http://bugs.java.com) for duplicates. Include your program and the
> following diagnostic in your report. Thank you.
> java.lang.AssertionError: The current compile state [ATTR] of class
> Test is previous to FLOW
> at com.sun.tools.javac.util.Assert.error(Assert.java:162)
> at
> com.sun.tools.javac.comp.TransTypes.translateClass(TransTypes.java:937)
> at
> com.sun.tools.javac.comp.TransTypes.visitClassDef(TransTypes.java:512)
> at
> com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:744)
> at
> com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
> at
> com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:491)
> at
> com.sun.tools.javac.comp.TransTypes.translateTopLevelClass(TransTypes.java:977)
> at
> com.sun.tools.javac.main.JavaCompiler.desugar(JavaCompiler.java:1455)
> at
> com.sun.tools.javac.main.JavaCompiler.desugar(JavaCompiler.java:1326)
> at
> com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:871)
> at com.sun.tools.javac.main.Main.compile(Main.java:257)
> at com.sun.tools.javac.main.Main.compile(Main.java:142)
> at com.sun.tools.javac.Main.compile(Main.java:55)
> at com.sun.tools.javac.Main.main(Main.java:41)
More information about the compiler-dev
mailing list