RFR: 8352251: Implement JEP 518: JFR Cooperative Sampling [v27]

Markus Grönlund mgronlun at openjdk.org
Tue May 20 16:16:05 UTC 2025


On Mon, 19 May 2025 15:24:18 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 incrementally with one additional commit since the last revision:
> 
>   leave jfr critsec after leave()

> Heads-up: I'm currently testing the PPC64 implementation: [TheRealMDoerr at 9b9f0bf](https://github.com/TheRealMDoerr/jdk/commit/9b9f0bfc06d63110d99ef32553a0dff58cf69136) Note that I'm not using memory barriers. I'm relying on synchronization by the suspend/resume mechanism (as well as the signal handler in case of async profiler). Especially the StoreLoad barrier in the remove_activation code has probably interpreter performance impact.

That is great news Martin! Thanks for testing without the barriers. If you are ok without them on PPC, they are most likely not needed on any other platform.

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

PR Comment: https://git.openjdk.org/jdk/pull/24296#issuecomment-2895072077


More information about the hotspot-jfr-dev mailing list