RFR: 8352251: Implement Cooperative JFR Sampling [v16]
Boris Ulasevich
bulasevich at openjdk.org
Sat May 10 22:28:54 UTC 2025
On Mon, 5 May 2025 08:50:35 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 19 commits:
>
> - Merge branch 'master' into 8352251
> - Configuration and test for jdk.SafepointLatency event
> - include guards
> - push back pd constants into pd code
> - Attempt to build Windows-AARCH64
> - No invariants for sender_for_interpreter_frame
> - zero
> - Merge branch 'master' into 8352251
> - Refine SamplingLatency event description
> - Update default.jfc
> - ... and 9 more: https://git.openjdk.org/jdk/compare/8511220f...e448090e
Hi,
Could you please incorporate a minimal change into your patch to enable the ARM32 port? With this update, the ARM32 build will compile successfully and pass the hotspot and jdk tier1 jtreg tests. The full cooperative-sampling functionality and watermark barriers aren’t implemented yet and will require additional work, but this patch provides a safe bootstrap that lets everything build and run on ARM32.
https://github.com/bulasevich/jdk/commit/9fe1aee0.patch
Thanks!
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24296#issuecomment-2869179778
More information about the hotspot-jfr-dev
mailing list