[jmm-dev] jdk9 APIs
Paul E. McKenney
paulmck at linux.vnet.ibm.com
Fri Aug 14 18:54:27 UTC 2015
On Fri, Aug 14, 2015 at 02:43:34PM -0400, Doug Lea wrote:
> On 08/14/2015 02:17 PM, Paul E. McKenney wrote:
> >On Fri, Aug 14, 2015 at 01:57:41PM -0400, Doug Lea wrote:
> >>My proposal to just introduce loadLoadFence(ref) (which further
> >>simplifies VarHandle.getDependently(ref)) was based in part
> >>on Section 3 (of the last version of N4321 I'd seen), that
> >>mentions and dismisses the idea of forcing layer-by-layer
> >>use of something similar in extended dependency chains.
> >>Without an OS kernel full of prior users/code to deal
> >>with, this seems to minimally suffice. Especially since in
> >>Java, programmers are more willing to use tools that might help
> >>automate tiered fence placement. Yes?
> >Given that you don't have existing code and assuming use of
> >fence-placement tools, layer-by-layer decoration might be OK.
> >The tools propagate the layer-by-layer decoration from the head
> >of the dependency chain or some such?
> Well, no such tools exist yet. But they seem to be possible.
> And there are enough performance-obsessed low-level java
> programmers that I expect interest in RCU-like techniques
> to grow sometime. As mentioned in my post Wednesday, these
> usages are basically the same as Java final rules except that
> the fences must be explicit. So in principle a tool can insert
> using a variant of final-field-check rules -- not a known
> variant, but I don't see any serious obstacles.
And in any case, you do have the option of providing this mechanism,
and expanding upon it later when/if needed.
More information about the jmm-dev