Thanks Paul and Claes! Hearing no objections for 24 hours now, I have pushed this change.
Thanks, -Aleksey On 05/18/2016 03:57 PM, Claes Redestad wrote: > +1 > > I think it's a good time to enable this. I do expect some impact to > various startup tests based on some earlier experiments, but that will > help us pinpoint areas to focus startup optimization efforts on going > forward. > > Thanks! > > /Claes > > On 2016-05-18 14:09, Aleksey Shipilev wrote: >> Hi, >> >> We have been waiting for this for at least 8 weeks, waiting for Jigsaw >> to settle in, and hs-main -> jdk9/dev integration to happen that brings >> a few testbug fixes into the jdk9/dev. >> >> Bug: >> https://bugs.openjdk.java.net/browse/JDK-8148604 >> >> Webrev: >> http://cr.openjdk.java.net/~shade/8148604/webrev.01/ >> (the change is XS, but impact is M) >> >> Targeted benchmarks show significant improvements with the >> MH_INLINE_SIZED_EXACT strategy, see the bug for the test results. >> Performance improvements are due to these reasons: >> >> *) it does not rely on OptimizeStringConcat in C2, but instead does >> lift up the concatenation into the Java code, spelling it out with >> java.lang.invoke building blocks. This also helps to improve C1 >> performance significantly; >> >> *) it uniformly covers the cases that OptimizeStringConcat does not >> cover, e.g. non-int/char arguments where OptimizeStringConcat bails, etc; >> >> *) it uniformly covers the Compact Strings (JEP 254) changes, e.g. >> selecting the final coder for the concatenated String, and calling >> appropriate coder-specific routines from JDK. Doing this in Java has the >> apparent benefit of piggy-backing on normal Java code profiling to >> figure out the hot branches -- a luxury OptimizeStringConcat-constructed >> code lacks. >> >> Unfortunately, we cannot test this with our regular performance testing, >> because it requires tests compiled with -target 9. The only easy target >> we have now is javac, and switching the concat strategy does not regress >> it (see JDK-8148605). >> >> MH_INLINE_SIZED_EXACT is functionally tested routinely with >> java/lang/String/concat/ jtregs on all platforms. >> >> Testing: java/lang/String/ jtregs; JPRT -testset hotspot >> >> Thanks, >> -Aleksey >> >