[15] RFR(M): 8242108: Performance regression after fix for JDK-8229496

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Apr 20 19:55:39 UTC 2020


Hi Tobias,

aarch64.ad has more changes than just undo 8229496.
Otherwise it is good.
Does it affect performance of our standard benchmarks?

Thanks,
Vladimir K

On 4/20/20 8:52 AM, Tobias Hartmann wrote:
> Hi,
> 
> please review the following patch:
> https://bugs.openjdk.java.net/browse/JDK-8242108
> http://cr.openjdk.java.net/~thartmann/8242108/webrev.00/
> 
> The fix for 8229496 [1] triggers a performance regression with NumberFormat.format(). The problem is
> the additional control dependency on a CastII/LL which restricts optimizations due to
> _carry_dependency being set (which was necessary because we can not represent non-null integers/long
> values in C2's type system).
> 
> While investigating, I've noticed that Roland's fix for 8241900 [2] fixes the exact same problem but
> in a more elegant way, avoiding an impact on performance.
> 
> I'm therefore proposing to back out the original fix for 8229496, leaving the regression test in and
> also adding a microbenchmark. I've verified that this solves the performance regression (4547 ops/ms
> vs. 5048 ops/ms on my machine).
> 
> Thanks,
> Tobias
> 
> [1] https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-August/034865.html
> [2] https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-April/037778.html
> 


More information about the hotspot-compiler-dev mailing list