United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6889300 assert(i != k || is_new || i->outcnt() > 0, "don't return dead nodes")
6889300 : assert(i != k || is_new || i->outcnt() > 0, "don't return dead nodes")

Details
Type:
Bug
Submit Date:
2009-10-07
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
solaris
Sub-Component:
compiler
CPU:
x86
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs17
Fixed Versions:
hs17

Related Reports
Backport:
Backport:

Sub Tasks

Description
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 dead control path.
PhiNode::Ideal()  should return TOP for such case.

                                    

Comments
PUBLIC COMMENTS

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.
                                     
2009-10-14
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/ce590301ae2a
                                     
2009-10-14



Hardware and Software, Engineered to Work Together