> On Jan 12, 2018, at 6:50 AM, Vladimir Ivanov <vladimir.x.iva...@oracle.com> 
> wrote:
> 

-snip-

> So, the worst case scenario is: a value written into @Stable field/array  is 
> never visible in some code no matter what you do. It can lead to nasty bugs 
> when different parts of program don't agree on observed value. It can happen 
> when user doesn't obey @Stable contract and performs multiple writes into a 
> @Stable field/array. Current implementation in HotSpot doesn’t
> forbid that.
> 


This isn’t much different from the already allowed fine tuning of memory model 
effects (e.g., observing stale values from a plain write). In those scenarios, 
as is the case with @Stable, developers have to be aware of and honor the 
respective contract. It could be argued that bugs arising from contract 
violations of @Stable are easier to catch, due to their persistent nature.

-Jason

Reply via email to