hotspot/src/share/vm/opto/domgraph.cpp
changeset 12958 009b6c9586d8
parent 7397 5b173b4ca846
child 13963 e5b53c306fb5
equal deleted inserted replaced
12957:f3cc386f349e 12958:009b6c9586d8
   463       for( uint i = 1; i < whead->req(); i++ ) {
   463       for( uint i = 1; i < whead->req(); i++ ) {
   464         if (!has_node(whead->in(i))) {
   464         if (!has_node(whead->in(i))) {
   465           // Kill dead input path
   465           // Kill dead input path
   466           assert( !visited.test(whead->in(i)->_idx),
   466           assert( !visited.test(whead->in(i)->_idx),
   467                   "input with no loop must be dead" );
   467                   "input with no loop must be dead" );
   468           _igvn.hash_delete(whead);
   468           _igvn.delete_input_of(whead, i);
   469           whead->del_req(i);
       
   470           _igvn._worklist.push(whead);
       
   471           for (DUIterator_Fast jmax, j = whead->fast_outs(jmax); j < jmax; j++) {
   469           for (DUIterator_Fast jmax, j = whead->fast_outs(jmax); j < jmax; j++) {
   472             Node* p = whead->fast_out(j);
   470             Node* p = whead->fast_out(j);
   473             if( p->is_Phi() ) {
   471             if( p->is_Phi() ) {
   474               _igvn.hash_delete(p);
   472               _igvn.delete_input_of(p, i);
   475               p->del_req(i);
       
   476               _igvn._worklist.push(p);
       
   477             }
   473             }
   478           }
   474           }
   479           i--;                  // Rerun same iteration
   475           i--;                  // Rerun same iteration
   480         } // End of if dead input path
   476         } // End of if dead input path
   481       } // End of for all input paths
   477       } // End of for all input paths