RFR: 8286849: Use @Stable for generic repositories
liach
duke at openjdk.java.net
Tue May 24 01:20:53 UTC 2022
On Tue, 17 May 2022 04:40:50 GMT, liach <duke at 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
More information about the core-libs-dev
mailing list