> On 6 Dec 2017, at 16:12, Claes Redestad <claes.redes...@oracle.com> wrote:
>> 
>>   and i do not understand why the field size is not declared @Stable anymore,
>>   ok, it can be equals to zero, but in that case the JIT will emit a move
>>   so it's better than always asking for a move (or i do not understand the 
>> semantics of @Stable ?)
> 
> Hmm, I'm under the impression @Stable brings no additional value to a final 
> non-array fields (definitely important for arrays).
> 

It can, since final fields are not treated as really final (unless in 
java.lang.invoke package, where it’s as if all such fields are annotated with 
@Stable). C2 will treat the field value a constant value if the collection is 
held in a static final field.

Paul.

> I might have been guilty of adding @Stable to more fields than necessary in 
> these implementations in the first place. I've
> reverted this removal and will add a note to investigate separately if we can 
> more systematically clean them up.
> 
> http://cr.openjdk.java.net/~redestad/8193128/open.01/
> 
> Thanks!
> 
> /Claes

Reply via email to