RFR: 8213035: Pack MethodHandleInlineStrategy coder and length into a long

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Mon Oct 29 17:37:26 UTC 2018

Looks good.

Best regards,
Vladimir Ivanov

On 29/10/2018 08:17, Claes Redestad wrote:
> Hi,
> by packing the coder and length values into a long, and combining the 
> length and coder mixers, we can reduce the number of MHs generated to 
> set up String concatenations.
> Theoretically we reduce the number of MHs created by up to a third, and 
> real time improvements in startup tests exercising ISC typically hover 
> around 10%. This optimization reverts JDK-8212597[1], so expressions 
> that benefited from that of course sees a smaller or no added benefit.
> http://cr.openjdk.java.net/~redestad/8213035/jdk.00/
> https://bugs.openjdk.java.net/browse/JDK-8213035
> I've attached a simple microbenchmark and performance results from 
> running on x64 in the bug:
> - Significant reduction in work needed to bootstrap a slew of 
> concatenations, both on the initial bootstrap and when repeating similar 
> concatenation shapes.
> - For C2 the peak performance is more or less the same, with very small 
> differences due slight differences in the generated code (both tiny 
> improvements and tiny regressions).
> - For C1 we see some regressions on some micros, at worst 1.2x
> - For interpreter we see improvements around 1.1x on several micros
> Testing: tier1-2 jdk and hs tests, sanity tested overflow conditions
> Thanks!
> /Claes
> [1] https://bugs.openjdk.java.net/browse/JDK-8212597

More information about the core-libs-dev mailing list