[jmm-dev] The JSR-133 Cookbook and final fields
    Andrew Haley 
    aph at redhat.com
       
    Mon Nov 21 15:32:12 UTC 2016
    
    
  
On 21/11/16 13:24, Doug Lea wrote:
> In any case, I'm not sure we can/should decode JSR133 specs that we
> know need fixing. For now, it seems that the most useful guarantee we
> can make is the operational spec that any class with a final field
> contains a storeStoreFence before/upon constructor return. As with
> other VarHandle documentation, this is sometimes not enough, but the
> best we have at the moment.
We're working on this right now in Graal.  If an object does not
escape, is it legitimate to remove the StoreStore fence as well?  I
think it is, but it means that we have to treat
class X1 {
    final int x;
    X1() {
    }
}
and
class X1 {
    int x;
    X1() {
        VarHandle.storeStoreFence();
    }
}
differently.
Andrew.
    
    
More information about the jmm-dev
mailing list