hg: tsan/dev: Don't reported races on fields marked @LazyInit
aeubanks at google.com
aeubanks at google.com
Thu Jun 27 00:04:55 UTC 2019
Changeset: c6fef9bb816b
Author: aeubanks
Date: 2019-05-30 15:37 -0700
URL: http://hg.openjdk.java.net/tsan/dev/rev/c6fef9bb816b
Don't reported races on fields marked @LazyInit
This change introduces a new annotation, java.util.concurrent.annotation.LazyInit, which causes TSAN to ignore races on that field.
References are not simply ignored, but a release/acquire is performed on them. This is so that any following accesses to its member variables are not also reported as racy.
! src/hotspot/cpu/x86/templateTable_x86.cpp
! src/hotspot/cpu/x86/templateTable_x86.hpp
! src/hotspot/share/classfile/classFileParser.cpp
! src/hotspot/share/classfile/vmSymbols.hpp
! src/hotspot/share/interpreter/interpreterRuntime.cpp
! src/hotspot/share/oops/cpCache.cpp
! src/hotspot/share/oops/cpCache.hpp
! src/hotspot/share/oops/fieldInfo.hpp
! src/hotspot/share/utilities/accessFlags.hpp
+ src/java.base/share/classes/java/util/concurrent/annotation/LazyInit.java
! src/java.base/share/classes/module-info.java
+ test/hotspot/jtreg/tsan/LazyInitLoopTest.java
+ test/hotspot/jtreg/tsan/LazyInitReferenceLoopTest.java
More information about the tsan-dev
mailing list