RFR: 8371536: C2: VerifyIterativeGVN should assert on first detected failure [v6]

Benoît Maillard bmaillard at openjdk.org
Thu Dec 18 15:43:57 UTC 2025


On Thu, 18 Dec 2025 13:49:37 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Benoît Maillard has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 10 commits:
>> 
>>  - Remove trailing whitespace
>>  - Merge branch 'master' into JDK-8371536
>>  - More style
>>  - Style and comments
>>  - Merge branch 'master' into JDK-8371536
>>  - Assert directly in the verify methods
>>  - Add comment for _table.hash_delete(n)
>>  - Change assert to print only the cause and the node name
>>    
>>    Bring back old comment
>>    
>>    Wording
>>  - Assert at first failure
>>  - Remove node from hash table before calling Ideal in verification
>
> src/hotspot/share/opto/phaseX.cpp line 1839:
> 
>> 1837:   // return and finally hit the assert in PhaseIterGVN::verify_optimize to get
>> 1838:   // a more meaningful message
>> 1839:   _table.hash_delete(n);
> 
> Looks like an unrelated change. Why are you adding it now?

This is here from the first version of the PR. From the initial PR descriptiom:

> In summary, this PR brings the following changes:
> ...
> - Avoid confusing `Need to remove from hash before changing edges` assert messages by removing the verified node from the hash table before attempting to optimize the node in question.

I think it relevant to have it here, don't you think so?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28295#discussion_r2631594884


More information about the hotspot-compiler-dev mailing list