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