Hi Aleksey, > http://cr.openjdk.java.net/~shade/8085796/webrev.langtools.02/
test/tools/javac/T5024091/T5024091.java src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/StringConcat.java The files do not have the copyright header. And I have one stupid question to com.sun.tools.javac.jvm.StringConcat: The constants TAG_ARG and TAG_CONST are defined as Strings. From performance standpoint of view, would it be not better to use char instead of String? I understand that: if (a.contains(TAG_CONST) || a.contains(TAG_ARG)) is easier to read than: if (a.indexOf(TAG_CONST) != -1 || a.indexOf(TAG_ARG) != -1) But when you have a huge project to compile, maybe it can help to reduce the compile time. The line 330 in com.sun.tools.javac.jvm.StringConcat: 330 recipe.append("null"); Maybe it is better to rewrite it as: 330 recipe.append((String) null); The first one requires to copy byte values from the "null" String. The second one ends up in the call to AsbtractStringBuilder.appendNull(). Best regards, Andrej Golovnin