RFR: 8366888: C2: incorrect assertion predicate with short running long counted loop [v4]
Roland Westrelin
roland at openjdk.org
Thu Nov 13 16:33:34 UTC 2025
On Fri, 7 Nov 2025 18:52:42 GMT, Benoît Maillard <bmaillard 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 10 additional commits since the last revision:
>>
>> - Merge branch 'master' into JDK-8366888
>> - whitespaces
>> - review
>> - Merge branch 'master' into JDK-8366888
>> - Update src/hotspot/share/opto/predicates.cpp
>>
>> Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
>> - Update src/hotspot/share/opto/predicates.cpp
>>
>> Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
>> - Update src/hotspot/share/opto/loopnode.cpp
>>
>> Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
>> - Update src/hotspot/share/opto/loopnode.cpp
>>
>> Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
>> - whitespaces
>> - fix
>
> src/hotspot/share/opto/loopnode.cpp line 1196:
>
>> 1194: // for (int = 0; i < stop - start; i+= stride) { ... }
>> 1195: // Template Assertion Predicates added so far were with an init value of start. They need to be updated with the new
>> 1196: // init value of 0:
>
> Not being super familiar with assertion predicates, I was a little bit confused at first. I would maybe add something along the lines of:
>
> Suggestion:
>
> // init value of 0. We want the OpaqueLoopInit node on the zero in order to be able to replace it when cloning the predicate.
>
>
> But feel free to ignore if you think this is obvious.
Thanks for having a look at this. Does the updated comment look good to you?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27250#discussion_r2524131208
More information about the hotspot-compiler-dev
mailing list