On Mon, 28 Sep 2026 03:41:51 GMT, Quan Anh Mai <[email protected]> wrote:

>> Boris Ulasevich has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   indent fix + move the comment
>
> src/hotspot/share/opto/loopnode.cpp line 4761:
> 
>> 4759:   set_ctrl(add, cl);
>> 4760: 
>> 4761:   _igvn.replace_node( phi2, add );
> 
> I just noticed there is an issue here. You are traversing a `DUIterator`, and 
> this method will call `PhaseIterGVN::remove_dead_node`, which will 
> aggressively kill an arbitrary number of nodes. This may, in theory, kill a 
> node that is an output of the `CountedLoopNode` whose `DUIterator` we are 
> using. And this may crash the compiler because you are not supposed to kill a 
> random node during output traversal. I think the solution is that you should 
> collect the outputs of the `CountedLoopNode` into a list, then traverse that 
> list.

Good point. I will restart the testing.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/32549#discussion_r4123481906

Reply via email to