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