RFR: Fix, improve and refactor matrix barrier on AAarch64

Roman Kennke rkennke at redhat.com
Thu Sep 14 13:20:03 UTC 2017


This patch fixes an issue in the aarch64 interpreter matrix barrier that 
caused TestGCOldWithShenandoah to fail verification. The reason was that 
we invoke the storeval-(read-)barrier *after* we copied the newval, and 
then pass the original to the matrix barrier, thus connecting the wrong 
regions.

The patch does:
- Move the storeval barrier before copying the newval
- Add a tmp3 arg to the shenandoah_write_barrier_post() to make it 
consistent (we've been using 2 tmp regs passed via function call, and 1 
implicit)
- Implement the fast matrix math as a bonus

Test: hotspot_gc_shenandoah

http://cr.openjdk.java.net/~rkennke/fix-matrix-barrier-aarch64/webrev.00/ 
<http://cr.openjdk.java.net/%7Erkennke/fix-matrix-barrier-aarch64/webrev.00/>

Ok?



More information about the shenandoah-dev mailing list