RFR(M): 8170991: PPC64: Bad code for initialization of short arrays
Doerr, Martin
martin.doerr at sap.com
Fri Dec 9 17:01:23 UTC 2016
Hello everybody,
the new flag "InitArrayShortSize" was set to 8 on PPC64. However, this leads to bad code. PPC64's C2 compiler currently does not have dedicated match rules to store 0.
Unfortunately, loading of the constant 0 got rematerialized many times in some cases consuming more registers and code space than needed.
An attempt to improve initialization was
8170094: PPC64: Keep immediate value 0 cached into a register to improve performance
but this approach has disadvantages and we had decided against it.
It is possibly to implement special ClearArray nodes to improve the initialization of arrays only:
http://cr.openjdk.java.net/~mdoerr/8170991_PPC64_ClearArray/webrev.00/
Please review.
@Gustavo: Maybe this improves your test cases, too?
Best regards,
Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20161209/ae89caac/attachment.html>
More information about the hotspot-compiler-dev
mailing list