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