webrev: http://cr.openjdk.java.net/~aeubanks/tsancas/webrev.00/index.html This is fairly self explanatory. I went down the route of using a C++ class's constructor/destructor for the release/acquire so I didn't have to touch the existing code too much.