Wow. This is a pretty big bug.
The official bug report: https://bugs.openjdk.java.net/browse/JDK-8204322 as Stuart Marks, a jvm architect, posted.
I'm surprised it stayed uncaught for so long.
For the unfamiliar, the way string concatenation is compiled changed with invokedynamic.
Previously, it would compile to either Sting.concat calls or transform into a StringBuilder, but with invoke dynamic we can leave it to the runtime to optimize when it first runs.
For the unfamiliar, the way string concatenation is compiled changed with invokedynamic.
Previously, it would compile to either Sting.concat calls or transform into a StringBuilder, but with invoke dynamic we can leave it to the runtime to optimize when it first runs.