Code Review for webrev

Prepared by: Man Cao on Fri Apr 10 23:32:49 UTC 2020
Compare against: https://git.openjdk.java.net/tsan
Compare against version: 952f32e3
Summary of changes: 2056 lines changed; 1972 ins; 5 del; 79 mod; 75683 unchg
Patch of changes: webrev.patch
Pull request: 3
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw make/autoconf/hotspot.m4

b409ca07: Merge
3b4bd080: Add a configure flag ---tsan-launcher
1995080f: Support running TSAN without LD_PRELOAD
2878f507: Make tsan a build-time JVM feature  
42 lines changed; 41 ins; 0 del; 1 mod; 645 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw make/autoconf/spec.gmk.in

b409ca07: Merge
1995080f: Support running TSAN without LD_PRELOAD  
1 lines changed; 1 ins; 0 del; 0 mod; 965 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw make/hotspot/lib/JvmFeatures.gmk

b409ca07: Merge
2878f507: Make tsan a build-time JVM feature  
5 lines changed; 5 ins; 0 del; 0 mod; 280 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw make/hotspot/symbols/symbols-shared

b409ca07: Merge
5a0e910c: Move TSAN symbolizer function override to launcher  
1 lines changed; 1 ins; 0 del; 0 mod; 34 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw make/hotspot/symbols/symbols-unix

b409ca07: Merge
61206193: Don't mark finalizers as racy due to running in a different thread  
1 lines changed; 1 ins; 0 del; 0 mod; 194 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw make/launcher/Launcher-java.base.gmk

b409ca07: Merge
1995080f: Support running TSAN without LD_PRELOAD  
1 lines changed; 1 ins; 0 del; 0 mod; 102 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw make/launcher/LauncherCommon.gmk

b409ca07: Merge
5a0e910c: Move TSAN symbolizer function override to launcher
31afda59: Supports statically linking TSAN runtime into the launcher with Clang
f530c22b: Rename INCLUDE_TSAN to LAUNCHER_INCLUDE_TSAN in launcher
1995080f: Support running TSAN without LD_PRELOAD  
12 lines changed; 12 ins; 0 del; 0 mod; 258 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw make/lib/CoreLibraries.gmk

b409ca07: Merge
5a0e910c: Move TSAN symbolizer function override to launcher  
4 lines changed; 4 ins; 0 del; 0 mod; 246 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw make/test/JtregNativeHotspot.gmk

b409ca07: Merge
31afda59: Supports statically linking TSAN runtime into the launcher with Clang
f712a939: Update/clean/add TSAN tests  
7 lines changed; 7 ins; 0 del; 0 mod; 1559 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/cpu/x86/interp_masm_x86.cpp

b409ca07: Merge
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
adea4785: Provide (un)lock info from Java to TSAN
a28261c1: Don't manually pass the thread to google_tsan_interp_method_entry
2878f507: Make tsan a build-time JVM feature
58d94985: Add method entry/exit hooks for interpreter and native wrappers  
29 lines changed; 29 ins; 0 del; 0 mod; 2064 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp

b409ca07: Merge
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
adea4785: Provide (un)lock info from Java to TSAN
2878f507: Make tsan a build-time JVM feature
58d94985: Add method entry/exit hooks for interpreter and native wrappers  
33 lines changed; 33 ins; 0 del; 0 mod; 4053 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/cpu/x86/templateTable_x86.cpp

b409ca07: Merge
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection
63f9cad8: Fix clobbered address passed to TSAN
f95076b0: Don't reported races on fields marked @LazyInit
f0777fb5: Add Java memory instrumentation  
258 lines changed; 199 ins; 2 del; 57 mod; 4473 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp

b409ca07: Merge
243a7cae: Comment out stack alignment assertion in os::verify_stack_alignment()  
2 lines changed; 1 ins; 0 del; 1 mod; 911 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/classfile/classFileParser.cpp

b409ca07: Merge
6681b105: Implement field suppression via a suppression list
f95076b0: Don't reported races on fields marked @LazyInit
b529eae6: Force jmethodIDs to be populated under TSAN  
46 lines changed; 46 ins; 0 del; 0 mod; 6535 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/classfile/javaClasses.cpp

b409ca07: Merge
f0777fb5: Add Java memory instrumentation  
8 lines changed; 8 ins; 0 del; 0 mod; 4925 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/classfile/javaClasses.hpp

b409ca07: Merge
f0777fb5: Add Java memory instrumentation  
4 lines changed; 4 ins; 0 del; 0 mod; 1734 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/classfile/systemDictionary.cpp

b409ca07: Merge
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
adea4785: Provide (un)lock info from Java to TSAN  
7 lines changed; 7 ins; 0 del; 0 mod; 2870 unchg

------ ------ ------ ------ --- New Patch Raw src/hotspot/share/classfile/tsanIgnoreList.cpp

b409ca07: Merge
87eae176: Add missing includes
6681b105: Implement field suppression via a suppression list  
199 lines changed; 199 ins; 0 del; 0 mod; 0 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/classfile/vmSymbols.hpp

b409ca07: Merge
f95076b0: Don't reported races on fields marked @LazyInit  
1 lines changed; 1 ins; 0 del; 0 mod; 1699 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/gc/shared/collectedHeap.hpp

b409ca07: Merge  
4 lines changed; 4 ins; 0 del; 0 mod; 537 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/gc/shared/memAllocator.cpp

b409ca07: Merge
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection  
3 lines changed; 3 ins; 0 del; 0 mod; 432 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/gc/shared/weakProcessorPhases.cpp

b409ca07: Merge
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection  
7 lines changed; 6 ins; 0 del; 1 mod; 127 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/gc/shared/weakProcessorPhases.hpp

b409ca07: Merge
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection  
3 lines changed; 1 ins; 0 del; 2 mod; 150 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp

b409ca07: Merge
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection  
1 lines changed; 1 ins; 0 del; 0 mod; 456 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp

b409ca07: Merge
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection  
8 lines changed; 8 ins; 0 del; 0 mod; 297 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp

b409ca07: Merge  
8 lines changed; 8 ins; 0 del; 0 mod; 339 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/include/jvm.h

b409ca07: Merge
61206193: Don't mark finalizers as racy due to running in a different thread  
6 lines changed; 6 ins; 0 del; 0 mod; 1225 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/interpreter/interpreterRuntime.cpp

b409ca07: Merge
f95076b0: Don't reported races on fields marked @LazyInit  
6 lines changed; 6 ins; 0 del; 0 mod; 1583 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/oops/cpCache.cpp

b409ca07: Merge
f95076b0: Don't reported races on fields marked @LazyInit  
3 lines changed; 2 ins; 0 del; 1 mod; 852 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/oops/cpCache.hpp

b409ca07: Merge
f95076b0: Don't reported races on fields marked @LazyInit  
2 lines changed; 2 ins; 0 del; 0 mod; 521 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/oops/fieldInfo.hpp

b409ca07: Merge
f95076b0: Don't reported races on fields marked @LazyInit  
10 lines changed; 10 ins; 0 del; 0 mod; 257 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/oops/instanceKlass.cpp

b409ca07: Merge
f0777fb5: Add Java memory instrumentation  
24 lines changed; 24 ins; 0 del; 0 mod; 4051 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/prims/jvm.cpp

b409ca07: Merge
61206193: Don't mark finalizers as racy due to running in a different thread
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
5a5c6a97: Add JVMTI raw monitor lock/unlock mechanisms  
18 lines changed; 17 ins; 0 del; 1 mod; 3684 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/prims/jvmtiEnv.cpp

b409ca07: Merge
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
5a5c6a97: Add JVMTI raw monitor lock/unlock mechanisms  
19 lines changed; 19 ins; 0 del; 0 mod; 3618 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/prims/jvmtiRawMonitor.cpp

b409ca07: Merge
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
5a5c6a97: Add JVMTI raw monitor lock/unlock mechanisms  
4 lines changed; 4 ins; 0 del; 0 mod; 460 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/prims/jvmtiTagMap.cpp

b409ca07: Merge
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
5a5c6a97: Add JVMTI raw monitor lock/unlock mechanisms  
62 lines changed; 58 ins; 1 del; 3 mod; 3415 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/prims/jvmtiTagMap.hpp

b409ca07: Merge
5a5c6a97: Add JVMTI raw monitor lock/unlock mechanisms  
3 lines changed; 2 ins; 1 del; 0 mod; 125 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/prims/unsafe.cpp

b409ca07: Merge
c3475755: Instrument Unsafe CAS
bc495b99: Instrument unsafe volatile memory accesses
8bd9935e: Instrument normal Unsafe puts and gets  
90 lines changed; 79 ins; 0 del; 11 mod; 1144 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/runtime/arguments.cpp

b409ca07: Merge
25ab06f2: Disable CDS when TSAN is on
f0777fb5: Add Java memory instrumentation
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
2878f507: Make tsan a build-time JVM feature
58d94985: Add method entry/exit hooks for interpreter and native wrappers  
12 lines changed; 12 ins; 0 del; 0 mod; 4349 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/runtime/globals.hpp

b409ca07: Merge
6681b105: Implement field suppression via a suppression list
f0777fb5: Add Java memory instrumentation
2878f507: Make tsan a build-time JVM feature
4055f02e: Create interface to call TSAN runtime  
10 lines changed; 10 ins; 0 del; 0 mod; 2536 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/runtime/init.cpp

b409ca07: Merge
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
2878f507: Make tsan a build-time JVM feature
4055f02e: Create interface to call TSAN runtime  
13 lines changed; 12 ins; 1 del; 0 mod; 211 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/runtime/mutexLocker.cpp

b409ca07: Merge
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection  
8 lines changed; 8 ins; 0 del; 0 mod; 375 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/runtime/mutexLocker.hpp

b409ca07: Merge
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection  
3 lines changed; 3 ins; 0 del; 0 mod; 308 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/runtime/sharedRuntime.cpp

b409ca07: Merge
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection
63f9cad8: Fix clobbered address passed to TSAN
f0777fb5: Add Java memory instrumentation
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
adea4785: Provide (un)lock info from Java to TSAN
2878f507: Make tsan a build-time JVM feature
58d94985: Add method entry/exit hooks for interpreter and native wrappers  
174 lines changed; 174 ins; 0 del; 0 mod; 3234 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/runtime/sharedRuntime.hpp

b409ca07: Merge
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection
63f9cad8: Fix clobbered address passed to TSAN
f0777fb5: Add Java memory instrumentation
adea4785: Provide (un)lock info from Java to TSAN
4ab20b94: Add code to symbolize stack traces
2878f507: Make tsan a build-time JVM feature
58d94985: Add method entry/exit hooks for interpreter and native wrappers  
77 lines changed; 77 ins; 0 del; 0 mod; 733 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/runtime/synchronizer.cpp

b409ca07: Merge
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
adea4785: Provide (un)lock info from Java to TSAN  
33 lines changed; 32 ins; 0 del; 1 mod; 2602 unchg

------ ------ ------ ------ --- New Patch Raw src/hotspot/share/tsan/tsan.cpp

b409ca07: Merge
6681b105: Implement field suppression via a suppression list
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection
5a0e910c: Move TSAN symbolizer function override to launcher
5a5c6a97: Add JVMTI raw monitor lock/unlock mechanisms
4ab20b94: Add code to symbolize stack traces
2878f507: Make tsan a build-time JVM feature  
126 lines changed; 126 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ --- New Patch Raw src/hotspot/share/tsan/tsanOopMap.cpp

b409ca07: Merge
d38b0311: Fix assertion error in TsanOopSizeMap::collect_oops()
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection  
537 lines changed; 537 ins; 0 del; 0 mod; 0 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/hotspot/share/utilities/macros.hpp

b409ca07: Merge
61206193: Don't mark finalizers as racy due to running in a different thread
c71fcc06: Use TSAN_RUNTIME_ONLY for most instrumentation
2878f507: Make tsan a build-time JVM feature  
19 lines changed; 19 ins; 0 del; 0 mod; 627 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/java.base/share/classes/module-info.java

b409ca07: Merge
f95076b0: Don't reported races on fields marked @LazyInit  
1 lines changed; 1 ins; 0 del; 0 mod; 393 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/java.base/share/native/libjli/java.c

b409ca07: Merge
5a0e910c: Move TSAN symbolizer function override to launcher  
11 lines changed; 11 ins; 0 del; 0 mod; 2408 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/java.base/share/native/libjli/java.h

b409ca07: Merge
5a0e910c: Move TSAN symbolizer function override to launcher  
10 lines changed; 10 ins; 0 del; 0 mod; 272 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/java.base/unix/native/libjli/java_md_solinux.c

b409ca07: Merge
5a0e910c: Move TSAN symbolizer function override to launcher  
9 lines changed; 9 ins; 0 del; 0 mod; 815 unchg

------ ------ ------ ------ --- New Patch Raw test/hotspot/jtreg/tsan/NonRacyGarbageCollectionLoopTest.java

b409ca07: Merge
fb2f0f1f: Add TSAN instrumentation for allocation and garbage collection  
71 lines changed; 71 ins; 0 del; 0 mod; 0 unchg

This code review page was prepared using webrev version 6b271460fbb4194fe02b412ea05d4a774cd6f732