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