RFR: 8293774: Improve TraceOptoParse to dump the bytecode name

Christian Hagedorn chagedorn at openjdk.org
Wed Sep 14 07:12:27 UTC 2022


On Wed, 14 Sep 2022 05:35:20 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

>> Hi all,
>> 
>> Please review this one-line patch which prints the bytecode name for `TraceOptoParse`.
>> 
>> While I was debugging with `TraceOptoParse`, I found it only prints the bci without the bytecode name.
>> I had to map the bci to the bytecode manually again and again.
>> It would be better to also dump the bytecode name.
>> 
>> Before:
>> 
>>     568  503       4       jdk.internal.org.objectweb.asm.ByteVector::putUTF8 (144 bytes)
>> Merging state at block #0 bci:0 with empty state on path 1
>> Parsing block #0 at bci [0,11), successors:  1 2
>>  @ bci:0
>>  @ bci:1
>> Uncommon trap reason='null_check' action='maybe_recompile' debug_id='0' at bci:1
>> Merging state at block #0 bci:0 with empty state on path 1
>> Parsing block #0 at bci [0,11), successors:
>>  @ bci:0
>>  @ bci:1
>>  @ bci:4
>> Uncommon trap reason='null_check' action='maybe_recompile' debug_id='0' at bci:4
>>  @ bci:5
>>  @ bci:6
>> Merging state at block #0 bci:0 with empty state on path 1
>> 
>> 
>> After:
>> 
>>     571  507       4       jdk.internal.org.objectweb.asm.ByteVector::putUTF8 (144 bytes)
>> Merging state at block #0 bci:0 with empty state on path 1
>> Parsing block #0 at bci [0,11), successors:  1 2
>>  @ bci:0 aload_1
>>  @ bci:1 invokevirtual
>> Uncommon trap reason='null_check' action='maybe_recompile' debug_id='0' at bci:1
>> Merging state at block #0 bci:0 with empty state on path 1
>> Parsing block #0 at bci [0,11), successors:
>>  @ bci:0 aload_0
>>  @ bci:1 getfield
>>  @ bci:4 arraylength
>> Uncommon trap reason='null_check' action='maybe_recompile' debug_id='0' at bci:4
>>  @ bci:5 aload_0
>>  @ bci:6 invokevirtual
>> Merging state at block #0 bci:0 with empty state on path 1
>> 
>> 
>> Testing:
>>  - tier1~3 on Linux/x64 in progress, seems fine until now
>> 
>> Thanks.
>> Best regards,
>> Jie
>
> Looks good!
> 
> Do we have any "hello world" kind of test that uses this flag? If not, it might be worth adding such a sanity test to cover it. But that could also be done separately.

> Thanks @chhagedorn for your review. I didn't find a test running with `TraceOptoParse`.

Thanks for quickly checking that.

> My colleague would like to write a test for it to learn more about OpenJDK. Let's do it in a separate pr.

That sounds good!

> So do you think this pr is trivial? Thanks.

Yes, it's trivial.

-------------

PR: https://git.openjdk.org/jdk/pull/10262


More information about the hotspot-compiler-dev mailing list