webrev: http://cr.openjdk.java.net/~aeubanks/tsanvolatileunsafe/webrev.00/index.html I also added a test that normal volatile accesses (not through unsafe) are not considered racy, since we didn't have a test for that before.