RFR(m) 8170094: PPC64: Keep immediate value 0 cached into a register to improve performance

Gustavo Serra Scalet gustavo.scalet at eldorado.org.br
Tue Nov 22 19:22:33 UTC 2016


CC'ing the ppc-aix-port-dev list.

> -----Original Message-----
> From: hotspot-compiler-dev [mailto:hotspot-compiler-dev-
> bounces at openjdk.java.net] On Behalf Of Gustavo Serra Scalet
> Sent: terça-feira, 22 de novembro de 2016 15:11
> To: hotspot-compiler-dev at openjdk.java.net
> Subject: RFR(m) 8170094: PPC64: Keep immediate value 0 cached into a
> register to improve performance
> 
> Hi,
> 
> I was concerned with an optimization marked as "Hoist CSE of constant
> load"[1] as I found zeroes being stored in the memory by using a new reg
> every time.
> 
> To address this issue, I reserved one of the many registers PPC64 has
> (on C1 and C2 compilers) to cache zero and then the zero can be stored
> at once with a single store. (I didn't notice a performance drop simply
> by removing 1 register from the register bank)
> 
> I notice small performance gains (on average around 1%) for some
> microbenchmarks but no noticeable change on SPECjvm2008 score. Maybe
> there is still some room for improvement by using this approach?
> 
> Please review if I built a correct solution:
> 
> Bug and webrev for this change:
> https://bugs.openjdk.java.net/browse/JDK-8170094
> https://gut.github.io/openjdk/webrev/JDK-8170094/webrev/index.html
> 
> Thanks in advance,
> Gustavo Serra Scalet
> 
> References:
> [1]
> http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2016-
> October/024664.html


More information about the ppc-aix-port-dev mailing list