RFR: Merge jdk-15-ga [v2]

Man Cao manc at openjdk.org
Fri Dec 1 00:58:21 UTC 2023


> Hi all,
> 
> This PR is for a merge, and to demonstrate that non-Committer could help on merging/syncing via PRs. The merge is created with `git checkout tsan; git merge --no-ff jdk-15-ga`.
> 
> Conflicts/manual changes are:
> - Changes in make/autoconf/hotspot.m4 have been reimplemented in make/autoconf/jvm-features.m4.
> - In make/autoconf/flags-cflags.m4, `-Os` flag for clang is only applied to aarch64, but not macosx.
> - In shenandoahPhaseTimings.hpp, TSANWeakRoots needs to adapt to new format of the SHENANDOAH_PAR_PHASE_DO macro.
> - In shenandoahRootProcessor.hpp/cpp, ShenandoahTSANWeakRoot needs a new parameter in the constructor, and _tsan_weak_roots needs to be in ShenandoahSerialWeakRoots's initializer list.
> - Conflicts in the following files are trivial. They are simple changes to the patch context:
>   - src/hotspot/share/classfile/javaClasses.hpp
>   - src/hotspot/share/interpreter/templateTable.cpp
>   - src/hotspot/share/runtime/globals.hpp
>   - src/hotspot/share/runtime/init.cpp
>   - src/hotspot/share/runtime/synchronizer.cpp
> 
> Tested with TSAN jtreg tests with LLVM 8.0 (https://releases.llvm.org/download.html#8.0.1). The tests are executed via `$ make test TEST=hotspot/jtreg/tsan`.
> 
> We cannot test with LLVM 16.0, because jdk-15-ga itself does not build with LLVM 16.0. Also building bin/java with recent LLVM versions with `-fsanitizer=thread` would cause ThreadSanitizer:DEADLYSIGNAL error at run-time.
> 
> -Man

Man Cao has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 52 commits:

 - Merge tag 'jdk-15-ga' into tsan
   
   Most significant merge conflicts are in hotspot.m4, and those changes
   have been moved to jvm-features.m4.
   
   Tested with TSAN jtreg tests with LLVM 8.0.
   We cannot test with LLVM 16.0, because jdk-15-ga itself does not build
   with LLVM 16.0. Also building bin/java with recent LLVM versions with
   -fsanitizer=thread would cause ThreadSanitizer:DEADLYSIGNAL error at run-time.
   
   Added tag jdk-15-ga for changeset 4a588d89
 - Enable array access instrumentation for aarch64
 - Enable field access instrumentation for aarch64
 - Add the code to track object allocation for aarch64
 - Update code location decoding for aarch64
 - Add aarch64 specific lock/unlock tsan instruments
 - Avoid jtreg test timeout in aarch64 due to a stackoverflow in process reaper
 - Add function entry/exit instruments for aarch64
 - Add a limition to allocate object heap in aarch64 with tsan enabled.
   
   Reviewed-by: manc
 - Enable aarch64 build in jdk/tsan.
 - ... and 42 more: https://git.openjdk.org/tsan/compare/4a588d89...47419566

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

Changes: https://git.openjdk.org/tsan/pull/15/files
 Webrev: https://webrevs.openjdk.org/?repo=tsan&pr=15&range=01
  Stats: 8121 lines in 157 files changed: 8008 ins; 5 del; 108 mod
  Patch: https://git.openjdk.org/tsan/pull/15.diff
  Fetch: git fetch https://git.openjdk.org/tsan.git pull/15/head:pull/15

PR: https://git.openjdk.org/tsan/pull/15


More information about the tsan-dev mailing list