RFR: 8288327: Executable.hasRealParameterData should not be volatile [v7]

ExE Boss duke at openjdk.org
Fri Jul 1 07:22:49 UTC 2022


On Fri, 1 Jul 2022 06:12:11 GMT, Peter Levart <plevart at openjdk.org> wrote:

>> Сергей Цыпанов has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   8288327: Inline privateGetParameters()
>
> src/java.base/share/classes/java/lang/reflect/Executable.java line 457:
> 
>> 455:     private transient @Stable ParameterData parameterData;
>> 456: 
>> 457:     record ParameterData(@Stable Parameter[] parameters, boolean isReal) {}
> 
> Record fields are implicitly "trusted final", which means they don't need @Stable annotation:
> https://github.com/openjdk/jdk/blob/124c63c17c897404e3c5c3615d6727303e4f3d06/src/hotspot/share/ci/ciField.cpp#L240

The [`@Stable`] annotation is there to mark the array entries as being stable:[^1]
https://github.com/openjdk/jdk/blob/d260a4e794681c6f4be4767350702754cfc2035c/src/java.base/share/classes/jdk/internal/vm/annotation/Stable.java#L51-L53 https://github.com/openjdk/jdk/blob/d260a4e794681c6f4be4767350702754cfc2035c/src/java.base/share/classes/jdk/internal/vm/annotation/Stable.java#L58-L62

[`@Stable`]: https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/jdk/internal/vm/annotation/Stable.java
[^1]: https://github.com/openjdk/jdk/pull/9143#discussion_r899993050

-------------

PR: https://git.openjdk.org/jdk/pull/9143


More information about the core-libs-dev mailing list