RFR: AArch64 -- patch to make volatile reads and stores use ldar/stlr (original) (raw)
Andrew Dinn adinn at redhat.com
Mon Apr 20 09:03:40 UTC 2015
- Previous message: Review Request for JDK-8078112: Integrate Selection/Resolution test suite into jtreg tests
- Next message: RFR: AArch64 -- patch to make volatile reads and stores use ldar/stlr
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
The following webrev is submitted for review (n.b. I am not an OpenJDK committer so the patch does not yet have an associated JIRA).
http://cr.openjdk.java.net/~adinn/volatilefix/webrev.00
The patch modifies the AArch64 ad file rules to implement volatile loads and stores using load acquire (ldar) and store release (stlr) instructions. The memory barriers normally associated with volatile loads and stores are elided in these cases.
http://cr.openjdk.java.net/~adinn/volatilefix/webrev.00/
Just to summarise what is happening here:
The patch employs rule predicates to detect specific sequences of membar and memory nodes which are unique to volatile loads and stores.
Two predicates control generation of normal vs acquiring loads and normal vs releasing stores.
Three predicates control generation vs elision of memory barriers.
The comments documenting these predicates provides a full explanation of which node sequences may arise as a result of a volatile load or store, how they can be detected and what alternative instruction encodings may be generated.
The patch has successfully passed jcstress on two different AArch64 platforms. It has also successfully run javac and netbeans.
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)
- Previous message: Review Request for JDK-8078112: Integrate Selection/Resolution test suite into jtreg tests
- Next message: RFR: AArch64 -- patch to make volatile reads and stores use ldar/stlr
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]