RFR: 8251397: Add release fence to ClassValueMap constructor [v2]

Galder Zamarreño github.com+50187+galderz at openjdk.java.net
Mon Sep 14 13:03:37 UTC 2020


> * Release fence guarantees that cacheArray field will published with a non-null value.
> * Without this fix, CacheValueMap.cacheArray can sometimes be seen as null.
> 
> This is a follow up to @PaulSandoz's feedback
> [here](https://mail.openjdk.java.net/pipermail/core-libs-dev/2020-August/068248.html) for the first attempt to fix
> [JDK-8251397](https://bugs.openjdk.java.net/browse/JDK-8251397).  In this update, the fence has been moved to
> `initializeMap()` and added Paul's suggested comment.
> Annotating `classValueMap` with `@Stable` is outside the scope of this issue.

Galder Zamarreño has refreshed the contents of this pull request, and previous commits have been removed. The
incremental views will show differences compared to the previous content of the PR. The pull request contains one new
commit since the last revision:

  8251397: NPE on ClassValue.ClassValueMap.cacheArray
  
  Add release fence to ClassValueMap constructor.
  
  * Release fence guarantees that
  cacheArray field will published with a non-null value.
  * Without this fix,
  CacheValueMap.cacheArray can sometimes be seen as null.

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/94/files
  - new: https://git.openjdk.java.net/jdk/pull/94/files/48ff6dde..6c4e82d8

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=94&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=94&range=00-01

  Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/94.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/94/head:pull/94

PR: https://git.openjdk.java.net/jdk/pull/94


More information about the core-libs-dev mailing list