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
