RFR: 8279016: JFR Leak Profiler is broken with Shenandoah [v3]
    Aleksey Shipilev 
    shade at openjdk.org
       
    Mon Jul 29 15:34:46 UTC 2024
    
    
  
On Mon, 29 Jul 2024 14:51:49 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Referencing INCLUDE_SHENANDOAHGC nominally requires macro.hpp
>
> src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.cpp line 147:
> 
>> 145:     // mark word uses by Shenandoah itself, if we hit the op during the concurrent
>> 146:     // GC cycle.
>> 147:     return ShenandoahHeap::heap()->is_idle();
> 
> I think you need to include shenandoahHeap.inline.hpp for this? Also, do we need to block this during all of GC, even marking? Would it make sense to only block during evac/updaterefs?
One of my attempts _did_ have a more sharp `!has_forwarded_objects()` check. But then I chickened out from specializing this, and instead trusting the more catch-all `is_idle()`. We can do a more precise test and relax it if we see more problems.
And right, we need a sharper include here, added.
See new commit.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20328#discussion_r1695442228
    
    
More information about the hotspot-jfr-dev
mailing list