On Tue, 28 Sep 2021 08:25:17 GMT, Peter Levart <plev...@openjdk.org> wrote:
>> This patch improves reflective access speed as shown by the included >> benchmarks: >> >> https://jmh.morethan.io/?gists=902f4b43519c4f96c7abcd14cdc2d27d,ac490481e3001c710d75d6071c10b23a >> >> ... and is also a prerequisite to make JEP 416 (Reimplement Core Reflection >> with Method Handle) perform better in some circumstances. > > Peter Levart has updated the pull request incrementally with one additional > commit since the last revision: > > Make Method/Constructor/Field instance fields initialized in the > constructors final > making fields @stable does improve performance since `jdk.internal.reflect` > and `java.lang.reflect` are not final-field-trusted packages as you noted > above. If JEP 416 makes them trusted, it can also remove the @stable > annotations. But for backporting, they better stay there. WDYT? Thanks for clarifying it. Okay to keep those changes. > I made them final in newly added patch now. So we can either merge this or > previous commit if desired. I would suggest to use the previous commit so that this patch focuses on this specific change - making the accessor @Stable. We can make the fields final together with adding `jdk.internal.reflect` and `java.lang.reflect` in the trusted packages for TNSFF in JEP 416. ------------- PR: https://git.openjdk.java.net/jdk/pull/5694