RFR: 8275086: compiler/c2/irTests/TestPostParseCallDevirtualization.java fails when compiler1 is disabled [v2]

SUN Guoyun duke at openjdk.java.net
Thu Oct 28 09:43:11 UTC 2021


On Wed, 27 Oct 2021 19:27:14 GMT, Igor Veresov <iveresov at openjdk.org> wrote:

>> SUN Guoyun has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   8275086: compiler/c2/irTests/TestPostParseCallDevirtualization.java fails when compiler1 is disabled
>
> 0.14 is oddly low. I think we need to get to the root of this and figure out why it doesn't create the MDO when it should. Try running the test with -XX:+PrintTieredEvents and grep for testMethodHandleCallWithCCP. See what's happening there. Look at the mdo counters that it prints. What are the total counters when does it starts profiling (the mdo counters start increasing)?

@veresov Through the parameter `-XX:+printtieredevents`, it can be found that under normal circumstances, when the invocation count is 256 of method `java.lang.invoke.LambdaForm$DMH::invokeStatic`, it is compiled into C3 and MDO is created. But  when layered compilation is turned off (`-XX:-TieredCompilation`), the MDO is not created until the invocation count  is 1664, which is too late.
So is it more reasonable to lower the value of `Tier0ProfileingStartPercentage` or `Tier3InvocationThreshold`?

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

PR: https://git.openjdk.java.net/jdk/pull/5903


More information about the hotspot-compiler-dev mailing list