RFR 8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Mar 23 22:38:45 UTC 2020


Good.

Please run hs-tier1,hs-tier3-graal testing before push.

Thanks,
Vladimir

On 3/23/20 10:51 AM, Tom Rodriguez wrote:
> http://cr.openjdk.java.net/~never/8241458/webrev
> https://bugs.openjdk.java.net/browse/JDK-8241458
> 
> While investigating JFR profiles with Graal we noticed that Graal had many fewer samples as compared to C2. It appears 
> more recent versions of JFR checks CodeBlob::is_frame_complete_at and skips any frames where this return false. JVMCI 
> doesn't provide any way to set this value so it always returns false for JVMCI compiled methods and stubs.  The graal 
> side changes are simply to record a mark after the frame prolog.  I can include those (very small) changes in this 
> webrev if that's helpful.
> 
> This was tested by comparing before and after profiles with Graal and running the Graal gate with the changes.
> 
> While looking at this I also noticed that the JFR stack walk seems to give up quite a lot.  For instance avrora gives up 
> about 75% of the time when it's looking at thread_in_Java thread with C2 in JDK11.  That seems like a very high failure 
> rate.  A 10-15% failure rate seem pretty normal and even than seems kind of high to me for a profiler.  Has any one done 
> any recent investigation into the quality of the JFR samples?  I think the major issues are related to walking of stubs 
> and leaf C frames.
> 
> tom


More information about the hotspot-compiler-dev mailing list