Request for reviews (S): 6889300: assert(i != k || is_new || i->outcnt() > 0, "don't return dead nodes")
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Fri Oct 9 08:48:03 PDT 2009
http://cr.openjdk.java.net/~kvn/6889300/webrev.00
Fixed 6889300: assert(i != k || is_new || i->outcnt() > 0, "don't return dead nodes")
Problem:
Customer hit this assert in transform_old() when
PhiNode::Ideal() method returns Phi node with no users
when before the Ideal() call it only references itself
with the edge corresponding to the dead control path.
Solution:
Return TOP for such case if it is IGVN transformation.
Add verification that during IGVN new Phi nodes should
be hooked before calling transform(). We need this
restriction to catch dead paths. The only place
which missed it was split_if() and I fixed it.
Reviewed by:
Other testing:
JPRT, CTW, NSK
More information about the hotspot-compiler-dev
mailing list