RFR(S): 8087341: C2 doesn't optimize redundant memory operations with G1
Andrew Dinn
adinn at redhat.com
Wed Feb 10 09:24:50 UTC 2016
Hi Roland,
On 29/01/16 13:27, Roland Westrelin wrote:
>> I think this looks ok -- not sure until I try it out. However, I /am/
>> fairly sure it is going to cause a problem for the AArch64 code which
>> optimizes volatile loads and stores. That's because it change the
>> characteristic shape of the subgraph searched for by the predicates
>> which decide whether to i) generate loads + membars or ii) plant stlr or
>> ladr instructions.
>>
>> I'll look into this asap.
>
> Thanks for looking at this. I’ll wait to hear back from you until I move forward with this change.
Apologies for the delay in getting back to you on this -- due first to
FOSDEM and then falling sick.
This patch breaks the AArch64 C2 code to optimize volatile stores for
the expected cases:
1) +G1GC
2) +ConcMarkSweepGC + CondCardMark
I believe it can be fixed but I have not yet identified the required
code changes.
regards,
Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in UK and Wales under Company Registration No. 3798903
Directors: Michael Cunningham (US), Michael O'Neill (Ireland), Paul
Argiry (US)
More information about the hotspot-compiler-dev
mailing list