RFR: 8339299: C1 will miss type profile when inline final method [v5]

duke duke at openjdk.org
Wed Sep 18 01:47:05 UTC 2024


On Tue, 10 Sep 2024 08:35:25 GMT, kuaiwei <duke at openjdk.org> wrote:

>> I found sometimes C1 will miss type profile and I tried to write a test to demonstrate it.
>> It will happen with these conditions
>> 1 It's a virtual call and the callee is a final method. So c1 will think it's static bound.
>> 2 The interpreter never touch the callsite, so interpreter does not add type profile.
>> 3 In c1 compilation, it will be inlined based on CHA.
>> 4 In c2 compilation, the CHA is broken, but type profile is missing, so c2 can not inline it.
>
> kuaiwei has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Modify test case to use createTestJavaProcessBuilder

@kuaiwei 
Your change (at version 666ce51f2f4f2826c323be9fd6da88fc589942c8) is now ready to be sponsored by a Committer.

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

PR Comment: https://git.openjdk.org/jdk/pull/20786#issuecomment-2357319067


More information about the hotspot-compiler-dev mailing list