RFR: 8347273: C2: VerifyIterativeGVN for Ideal and Identity [v7]

Emanuel Peter epeter at openjdk.org
Thu Jun 12 07:48:12 UTC 2025


On Thu, 12 Jun 2025 06:24:40 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

>> Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   reorder flags for Christian
>
> src/hotspot/share/opto/phaseX.cpp line 1444:
> 
>> 1442:     // This has the effect that these new nodes end up on the IGVN worklist,
>> 1443:     // but if we now leave verification and IGVN itself, we have nodes on the
>> 1444:     // worklist, and that should not be (there are asserts against this).
> 
> Sounds like we just need some exception when calling `Ideal` on a `SubTypeCheck` that we can have certain nodes still on the worklist like a `cmp`. Maybe we should add this as a suggestion to the comment?
> Suggestion:
> 
>     // but if we now leave verification and IGVN itself, we have nodes other
>     // than 'n' still on the worklist. This will fail with an assert in
>     // verify_empty_worklist(). Maybe we just need to add an exception and
>     // check that only certain nodes like 'cmp' are still on the worklist. After
>     // this check, we can clear the worklist such that verify_empty_worklist() 
>     // succeeds.

Thanks for the offline discussion, I'll write something new we discussed.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/22970#discussion_r2141953002


More information about the hotspot-dev mailing list