I think the get/setOpaque methods need a bit more explanation ("opaque" is an odd naming choice, IMO). Specifically, it says the operations are done in program order but have no effect on inter-thread ordering/visibility. Is this spec verbiage for a full compiler-only fence?
On Thursday, January 21, 2016, Paul Sandoz <paul.san...@oracle.com> wrote: > Hi > > This is a request to review the VarHandles API. The code reviews and > pushes will occur separately, and flow through the hs-comp repo, most > likely from the bottom up first with Unsafe changes. > > The specdiff can be found here: > > > http://cr.openjdk.java.net/~psandoz/jdk9/varhandles/specdiff/overview-summary.html > > (Note that specdiff renders some aspects of JavaDoc incorrectly, so just > ignore any such quirks.) > > A consensus on the set of access mode methods proposed by Doug was > previously discussed and reached. > > For the moment please ignore the following methods on MethodHandles: > byteArrayViewVarHandle; and byteBufferViewVarHandle. It is necessary to > revisit that functionality w.r.t. alignment and proposed enhancements to > ByteBuffer (in discussion on valhalla-dev). > > Paul. > > > -- Sent from my phone