RFR: 8352251: Implement JEP 518: JFR Cooperative Sampling [v31]
Markus Grönlund
mgronlun at openjdk.org
Tue May 20 21:30:19 UTC 2025
> Greetings,
>
> This is the implementation of JEP [JDK-8350338 Cooperative JFR Sampling](https://bugs.openjdk.org/browse/JDK-8350338).
>
> Implementations in this change set are provided and have been tested on the following platforms:
>
> - windows-x64
> - windows-x64-debug
> - linux-x64
> - linux-x64-debug
> - macosx-x64
> - macosx-x64-debug
> - linux-aarch64
> - linux-aarch64-debug
> - macosx-aarch64
> - macosx-aarch64-debug
>
> Testing: tier1-6, jdk_jfr, stress testing.
>
> Platform porters note:
> Some platform-specific code needs to be provided, mainly in the interpreter. Take a look at the following files for changes:
>
> - src/hotspot/cpu/x86/frame_x86.cpp
> - src/hotspot/cpu/x86/interp_masm_x86.cpp
> - src/hotspot/cpu/x86/interp_masm_x86.hpp
> - src/hotspot/cpu/x86/javaFrameAnchor_x86.hpp
> - src/hotspot/cpu/x86/macroAssembler_x86.cpp
> - src/hotspot/cpu/x86/macroAssembler_x86.hpp
> - src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp
> - src/hotspot/cpu/x86/templateTable_x86.cpp
> - src/hotspot/os_cpu/linux_x86/javaThread_linux_x86.hpp
>
> Thanks
> Markus
Markus Grönlund has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 35 commits:
- Merge branch 'master' into 8352251
- whitespace
- Parameter reordering and inlining
- Attribute sample to correct thread id as a function of frame
- leave jfr critsec after leave()
- No platform specific changes needed for javaFrameAnchor
- Redesign to avoid the pre-emptive fp move in the interpreter. Replace with a thread-local critical section sampling interrupt mask.
- additional checks
- growable array constructur without default initialization
- validate_bcp
- ... and 25 more: https://git.openjdk.org/jdk/compare/cedd1a53...e4d3f78b
-------------
Changes: https://git.openjdk.org/jdk/pull/24296/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24296&range=30
Stats: 3233 lines in 75 files changed: 1959 ins; 950 del; 324 mod
Patch: https://git.openjdk.org/jdk/pull/24296.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24296/head:pull/24296
PR: https://git.openjdk.org/jdk/pull/24296
More information about the hotspot-jfr-dev
mailing list