RFR: 8275086: compiler/c2/irTests/TestPostParseCallDevirtualization.java fails when compiler1 is disabled [v2]
Igor Veresov
iveresov at openjdk.java.net
Wed Oct 27 19:30:11 UTC 2021
On Fri, 22 Oct 2021 08:12:27 GMT, SUN Guoyun <duke at openjdk.java.net> wrote:
>> Hi all,
>> Jtreg test case compiler/c2/irTests/TestPostParseCallDevirtualization.java fails for fastdebug mode on x86/aarch64/mips architecture when "--with-jvm-features=-compiler1" be used. the failed info is:
>>
>> <pre><code class="shell">
>> One or more @IR rules failed:
>>
>> Failed IR Rules (1)
>> ------------------
>> - Method "public int compiler.c2.irTests.TestPostParseCallDevirtualization.testMethodHandleCallWithCCP() throws java.lang.Throwable":
>> * @IR rule 1: "@compiler.lib.ir_framework.IR(failOn={"#PRE#(\\\\d+(\\\\s){2}(CallStaticJava.*)+(\\\\s){2}===.*#IS_REPLACED#)", "invokeBasic"}, applyIf={}, applyIfAnd={}, applyIfOr={}, counts={"#PRE#(\\\\d+(\\\\s){2}(CallStaticJava.*)+(\\\\s){2}===.*#IS_REPLACED#)", "invokeStatic", "= 1"}, applyIfNot={})"
>> - failOn: Graph contains forbidden nodes:
>> Regex 1: (\\d+(\\s){2}(CallStaticJava.*)+(\\s){2}===.*invokeBasic)
>> Matched forbidden node:
>> 280 CallStaticJava === 5 6 7 8 1 ( 188 1 1 1 1 1 1 ) [[ 281 282 283 285 ]] # Static java.lang.invoke.MethodHandle::invokeBasic
>> - counts: Graph contains wrong number of nodes:
>> Regex 1: (\\d+(\\s){2}(CallStaticJava.*)+(\\s){2}===.*invokeStatic)
>> Expected 1 but found 0 nodes.
>>
>>>>> Check stdout for compilation output of the failed methods
>> </code></pre>
>>
>> This is a patch to fix this problem. Please help review it.
>>
>> Thanks,
>> Sun Guoyun
>
> 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)?
-------------
PR: https://git.openjdk.java.net/jdk/pull/5903
More information about the hotspot-compiler-dev
mailing list