src/hotspot/share/opto/loopnode.cpp
changeset 52429 b64514ff68fd
parent 51489 b5abbca5b2dc
child 52604 6548ad72dff8
equal deleted inserted replaced
52428:0e8084c8cbb7 52429:b64514ff68fd
  1748       old_phi->add_req(p);
  1748       old_phi->add_req(p);
  1749       // Check for the special case of making the old phi useless and
  1749       // Check for the special case of making the old phi useless and
  1750       // disappear it.  In JavaGrande I have a case where this useless
  1750       // disappear it.  In JavaGrande I have a case where this useless
  1751       // Phi is the loop limit and prevents recognizing a CountedLoop
  1751       // Phi is the loop limit and prevents recognizing a CountedLoop
  1752       // which in turn prevents removing an empty loop.
  1752       // which in turn prevents removing an empty loop.
  1753       Node *id_old_phi = old_phi->Identity( &igvn );
  1753       Node *id_old_phi = igvn.apply_identity(old_phi);
  1754       if( id_old_phi != old_phi ) { // Found a simple identity?
  1754       if( id_old_phi != old_phi ) { // Found a simple identity?
  1755         // Note that I cannot call 'replace_node' here, because
  1755         // Note that I cannot call 'replace_node' here, because
  1756         // that will yank the edge from old_phi to the Region and
  1756         // that will yank the edge from old_phi to the Region and
  1757         // I'm mid-iteration over the Region's uses.
  1757         // I'm mid-iteration over the Region's uses.
  1758         for (DUIterator_Last imin, i = old_phi->last_outs(imin); i >= imin; ) {
  1758         for (DUIterator_Last imin, i = old_phi->last_outs(imin); i >= imin; ) {