RFR: 8335274: SwitchBootstraps.ResolvedEnumLabels.resolvedEnum should be final
Chen Liang
liach at openjdk.org
Thu Jun 27 19:41:17 UTC 2024
On Thu, 27 Jun 2024 19:30:34 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> I was auditing the current uses of `@Stable` before relaxing its barriers ([JDK-8333791](https://bugs.openjdk.org/browse/JDK-8333791)), and this is an easy spot.
>
> `resolvedEnum` is not `final`. So technically publishing the object via data race can show `resolvedEnum` as `null`, which would break `test()` that does not expect it. Currently not a practical problem since its safety is covered by adjacent `final` fields, but should be more precise.
Indeed, the missing final on a stable array usually indicates a level of laziness on the array itself. It's clearly not the case here.
-------------
Marked as reviewed by liach (Committer).
PR Review: https://git.openjdk.org/jdk/pull/19933#pullrequestreview-2146358637
More information about the core-libs-dev
mailing list