On Tue, 17 May 2022 04:40:50 GMT, liach <d...@openjdk.java.net> wrote:

> Generic repositories, the implementation detail for generic information in 
> core reflection, can be updated to use the `@Stable` annotation to replace 
> their `volatile` access. Their existing accessor code is already safe, 
> reading the cache fields only once.
> In addition, fixed potentially non-thread-safe `genericInfo` access in 
> `Method`, `Field`, and `RecordComponent`.

This should offer slight performance benefit if a reflection object has its 
generic information accessed frequently, as reading a stable field is faster 
than reading a volatile field for cached objects. If the `genericInfo` fields 
are updated by JVMTI then they need to be declared `volatile` instead. In 
addition, some of the `genericInfo` fields may have been not thread-safe for 
their multiple field reads.


PR: https://git.openjdk.java.net/jdk/pull/8742

Reply via email to