RFR: 8352251: Implement Cooperative JFR Sampling [v9]
Aleksey Shipilev
shade at openjdk.org
Wed Apr 23 08:46:53 UTC 2025
On Tue, 22 Apr 2025 19:57:00 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:
>> 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 12 commits:
>
> - Merge branch 'master' into 8352251
> - Refine SamplingLatency event description
> - Update default.jfc
> - Update profile.jfc
> - review comments
> - Merge branch '8352251' of github.com:mgronlun/jdk into 8352251
> - Merge branch 'master' into 8352251
> - Merge branch 'master' into 8352251
> - align params
> - adjustments
> - ... and 2 more: https://git.openjdk.org/jdk/compare/d61765f6...5f2351c8
Zero does not use JFR, `jfr` build feature flag is not enabled. So we only need to make sure it compiles. It currently does not, because `last_Java_fp` returns `ZeroFrame*`, and not generic `intptr_t*`. Here: [jfr-cooperative-zero-1.txt](https://github.com/user-attachments/files/19863729/jfr-cooperative-zero-1.txt)
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24296#issuecomment-2823523262
More information about the hotspot-dev
mailing list