JDK-6889300 : assert(i != k || is_new || i->outcnt() > 0, "don't return dead nodes")
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs17
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris
  • CPU: x86
  • Submitted: 2009-10-07
  • Updated: 2011-03-08
  • Resolved: 2011-03-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u21Fixed 7Fixed hs17Fixed
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.
14-10-2009

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