RFR: 8361702: C2: assert(is_dominator(compute_early_ctrl(limit, limit_ctrl), pre_end)) failed: node pinned on loop exit test? [v4]
Roland Westrelin
roland at openjdk.org
Tue Aug 26 09:29:56 UTC 2025
On Mon, 25 Aug 2025 15:12:55 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> Roland Westrelin has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:
>>
>> - Merge branch 'master' into JDK-8361702
>> - Update src/hotspot/share/opto/loopopts.cpp
>>
>> Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
>> - Update test/hotspot/jtreg/compiler/rangechecks/TestSunkRangeFromPreLoopRCE3.java
>>
>> Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
>> - Update test/hotspot/jtreg/compiler/rangechecks/TestSunkRangeFromPreLoopRCE2.java
>>
>> Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
>> - Update src/hotspot/share/opto/loopopts.cpp
>>
>> Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
>> - Update test/hotspot/jtreg/compiler/rangechecks/TestSunkRangeFromPreLoopRCE2.java
>>
>> Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
>> - tests
>> - fix
>
> test/hotspot/jtreg/compiler/rangechecks/TestSunkRangeFromPreLoopRCE3.java line 28:
>
>> 26: * @bug 8361702
>> 27: * @summary C2: assert(is_dominator(compute_early_ctrl(limit, limit_ctrl), pre_end)) failed: node pinned on loop exit test?
>> 28: * @requires vm.flavor == "server"
>
> Would this test fail without this requires? Or could we remove it, in the hopes of catching something else somewhere else?
The `@requires` is there because the test run needs command line options that are c2 specific.
> test/hotspot/jtreg/compiler/rangechecks/TestSunkRangeFromPreLoopRCE3.java line 30:
>
>> 28: * @requires vm.flavor == "server"
>> 29: *
>> 30: * @run main/othervm -XX:-BackgroundCompilation -XX:LoopUnrollLimit=100 -XX:-UseLoopPredicate -XX:-UseProfiledLoopPredicate TestSunkRangeFromPreLoopRCE3
>
> Could we have a run without any flags / fewer flags? Just in case it catches something else / related.
Done in new commit.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26424#discussion_r2300383396
PR Review Comment: https://git.openjdk.org/jdk/pull/26424#discussion_r2300383800
More information about the hotspot-compiler-dev
mailing list