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

Tom Rodriguez tom.rodriguez at oracle.com
Tue Mar 24 06:57:19 UTC 2020



Vladimir Kozlov wrote on 3/23/20 3:38 PM:
> Good.
> 
> Please run hs-tier1,hs-tier3-graal testing before push.

Thanks.  The results are clean.

tom

> 
> 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