volatile read and writes

D.Sturm D.Sturm42 at gmail.com
Sat Sep 28 15:55:24 PDT 2013


The Aarch64 ISA allows to fold most memory barriers into special load and
store instructions - similar to IA64. That means we can get away with only
explicitly generating StoreLoad barriers and use load-acquire/store-release
for volatile read/writes and when publishing newly constructed objects with
final fields.

What is the best approach for getting this information when generating
load/stores or maybe during a peephole optimization?

There's a lastLocationAccess for the FloatingReadNode which should point to
a MembarNode if it's a volatile read (and there's a next field for
storenodes which should do the same), but that seems rather fragile.


- Daniel


More information about the graal-dev mailing list