-
Enhancement
-
Resolution: Fixed
-
P3
-
9
-
b112
MH_INLINE_SIZED_EXACT strategy is known to win in many cases where OptimizeStringConcat does not work, but it is penalized when OptimizeStringConcat does work:
http://cr.openjdk.java.net/~shade/8150463/perf-bad.txt
"perfasm" profiling shows this is because MH_INLINE_SIZED_EXACT has to allocate the underlying storage from Java, which requires zeroing; while C2 is able to avoid zeroing altogether, because it knows the array would get overwritten completely:
http://cr.openjdk.java.net/~shade/8150463/BC_SB.perfasm
http://cr.openjdk.java.net/~shade/8150463/MH_INLINE_SIZED_EXACT.perfasm
We need to solve this before switching to most optimal concat strategy.
http://cr.openjdk.java.net/~shade/8150463/perf-bad.txt
"perfasm" profiling shows this is because MH_INLINE_SIZED_EXACT has to allocate the underlying storage from Java, which requires zeroing; while C2 is able to avoid zeroing altogether, because it knows the array would get overwritten completely:
http://cr.openjdk.java.net/~shade/8150463/BC_SB.perfasm
http://cr.openjdk.java.net/~shade/8150463/MH_INLINE_SIZED_EXACT.perfasm
We need to solve this before switching to most optimal concat strategy.
- blocks
-
JDK-8148604 JEP 280, Switch to more optimal concatenation strategy
-
- Resolved
-
- is blocked by
-
JDK-8150465 Unsafe methods to produce uninitialized arrays
-
- Resolved
-