RFR: 8263995: Incorrect double-checked locking in Types.arraySuperType() [v2]

Aleksey Shipilev shade at openjdk.java.net
Mon Mar 22 19:06:00 UTC 2021


> In Types.arraySuperType(), SonarCloud reports:
>  Remove this dangerous instance of double-checked locking.
> 
> Indeed, the `arraySuperType` is not `volatile`, while `IntersectionClassType` has non-`final` fields (both in itself and in superclasses). This is an incorrect DCL.

Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:

  Drop synchronization and volatileness

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3129/files
  - new: https://git.openjdk.java.net/jdk/pull/3129/files/e8092ca6..aeee7536

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

  Stats: 13 lines in 1 file changed: 0 ins; 7 del; 6 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3129.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3129/head:pull/3129

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


More information about the compiler-dev mailing list