RFR: AArch64 -- patch to make volatile reads and stores use ldar/stlr (original) (raw)

Andrew Dinn adinn at redhat.com
Wed Apr 22 09:05:02 UTC 2015


On 22/04/15 10:00, Andrew Dinn wrote:

Hi Vladimir,

Thanks for responding. On 21/04/15 18:03, Vladimir Kozlov wrote: Would it help if we add a new flag to NodeFlags to indicate volatile memory node? Yes, I think this would provide some benefit although I don't know if it will justify cost of implementing and testing the necessary shared code changes given that the benefit is only partial. Even with such a flag we would still need to do some of the work that this patch does. Also, the flag would not help with a the next optimization we are planning (removing unnecessary barriers from CAS sequences). Your suggestion will /simplify/ the predicates for LoadX/StoreX but will not make much difference to execution time. The current predicates for these nodes, needsacquiringload() and needsreleasingstore(), check immediately whether a LoadX is acquiring or a StoreX is releasing. So, we have a quick filter for the /common path/ case where we simply generate an ldr or stlr (I assume volatile ops are relatively rare).

oops ldr or str !!!

regards,

Andrew Dinn

Senior Principal Software Engineer Red Hat UK Ltd Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (USA), Matt Parson (USA), Charlie Peters (USA), Michael O'Neill (Ireland)



More information about the hotspot-dev mailing list