RFR(S): 8087341: C2 doesn't optimize redundant memory operations with G1

Aleksey Shipilev aleksey.shipilev at oracle.com
Thu Jan 28 15:04:05 UTC 2016


On 01/28/2016 03:49 PM, Roland Westrelin wrote:
> http://cr.openjdk.java.net/~roland/8087341/webrev.00/

This looks good, for most tests here:
  http://cr.openjdk.java.net/~shade/8087341/G1BackToBackStores.java

The generated code indeed shows commoned loads/stores with this patch,
and some other things that can be improved in the codegen -- I'll file
the separate issue(s) for that. I think this one is better to be renamed
to something more specific, e.g. "Overly wide StoreLoad barrier in G1
breaks load/store coalescing"?

On i7-4790K @ 4.0 GHz, Linux x86_64:

== Baseline:

Benchmark                    Mode  Cnt  Score   Error  Units
G1BackToBackStores.test_1    avgt   15  2.193 ± 0.037  ns/op
G1BackToBackStores.test_11   avgt   15  2.984 ± 0.076  ns/op
G1BackToBackStores.test_111  avgt   15  3.706 ± 0.017  ns/op
G1BackToBackStores.test_112  avgt   15  3.978 ± 0.078  ns/op
G1BackToBackStores.test_121  avgt   15  4.107 ± 0.028  ns/op
G1BackToBackStores.test_211  avgt   15  3.824 ± 0.186  ns/op

== Patched:

Benchmark                    Mode  Cnt  Score   Error  Units
G1BackToBackStores.test_1    avgt   15  2.184 ± 0.020  ns/op
G1BackToBackStores.test_11   avgt   15  2.790 ± 0.065  ns/op  // !
G1BackToBackStores.test_111  avgt   15  3.264 ± 0.008  ns/op  // !!!
G1BackToBackStores.test_112  avgt   15  3.640 ± 0.011  ns/op  // !
G1BackToBackStores.test_121  avgt   15  4.194 ± 0.033  ns/op
G1BackToBackStores.test_211  avgt   15  3.665 ± 0.415  ns/op  // !

Cheers,
-Aleksey

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160128/f4ccfffb/signature.asc>


More information about the hotspot-compiler-dev mailing list