RFR: 8275086: compiler/c2/irTests/TestPostParseCallDevirtualization.java fails when compiler1 is disabled
Igor Veresov
iveresov at openjdk.java.net
Mon Nov 1 19:16:12 UTC 2021
On Tue, 12 Oct 2021 07:41:03 GMT, Christian Hagedorn <chagedorn at openjdk.org> 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
>
> Though this issue is about excluding C1, I think the IR framework generally does not handle the case if C2 is excluded in the build (i.e. client VM). It only bails out of IR matching if C2 is excluded by command line flags. I will file a bug for it.
@chhagedorn, how do you think this PR should proceed? Would you consider fixing the framework to increase the warmup for the C2-only configuration?
-------------
PR: https://git.openjdk.java.net/jdk/pull/5903
More information about the hotspot-compiler-dev
mailing list