[12] RFR(S): 8210387: C2 compilation fails with "assert(node->_last_del == _last) failed: must have deleted the edge just produced"

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Sep 11 16:01:44 UTC 2018


Looks good.

Thanks,
Vladimir

On 9/11/18 1:31 AM, Tobias Hartmann wrote:
> Hi,
> 
> please review the following patch:
> https://bugs.openjdk.java.net/browse/JDK-8210387
> http://cr.openjdk.java.net/~thartmann/8210387/webrev.00/
> 
> During CCP, before removing unreachable regions, we first replace all dead phi users with TOP by
> calling PhaseIterGVN::replace_node. Replacing a phi node can trigger removal of other nodes some of
> which might also be phi users of the same region. This breaks verification of the DUIterator because
> only one node is expected to be removed. Very similar to the code in RegionNode::Ideal [1], we need
> to refresh the iterator and start iterating from the beginning for as long as there is progress.
> 
> Thanks,
> Tobias
> 
> [1] http://hg.openjdk.java.net/jdk/jdk/file/bbc7157ad9c5/src/hotspot/share/opto/cfgnode.cpp#l538
> 


More information about the hotspot-compiler-dev mailing list