JDK-8081279 : Adapt C2's string concatenation optimization
  • Type: Sub-task
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • CPU: generic
  • Submitted: 2015-05-27
  • Updated: 2015-05-27
  • Resolved: 2015-05-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
C2's string concatenation optimization (-XX:+OptimizeStringConcat) needs to be adapted to compact strings.
JDK-8054307-branch: Implemented C2 string concatenation optimizations. http://cr.openjdk.java.net/~thartmann/sd/hotspot/webrev.06/ http://hg.openjdk.java.net/jdk9/sandbox/hotspot/rev/39b50122c78f JDK-8054307-branch: Fixed unnecessary array instantiation for string concatenation optimization. http://cr.openjdk.java.net/~thartmann/sd/hotspot/webrev.07/ http://hg.openjdk.java.net/jdk9/sandbox/hotspot/rev/0b44f93fb807 JDK-8054307-branch: Fixed bug in string concat byte array initialization. http://hg.openjdk.java.net/jdk9/sandbox/hotspot/rev/0f0a56e2b84a JDK-8054307-branch: Fixed bug in string concat byte array initialization. http://hg.openjdk.java.net/jdk9/sandbox/hotspot/rev/122fd468d41e JDK-8054307-branch: Added matching rules to fold unnessesary ConvI2LNode http://hg.openjdk.java.net/jdk9/sandbox/hotspot/rev/e68e062ced07 JDK-8054307-branch: Pre-computation of result array encoding for string concat optimization. http://hg.openjdk.java.net/jdk9/sandbox/hotspot/rev/7f10bc8662e5 JDK-8054307-branch: Fix string concat result array encoding to UTF16 if at least one argument is non-latin1. http://hg.openjdk.java.net/jdk9/sandbox/hotspot/rev/97d570288ff4