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