Code (Pre-)Review for JEP 280: Indify String Concat
Andrej Golovnin
andrej.golovnin at gmail.com
Fri Nov 27 07:47:25 UTC 2015
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
More information about the compiler-dev
mailing list