comparison src/share/vm/opto/postaloc.cpp @ 7196:2aff40cb4703

7092905: C2: Keep track of the number of dead nodes Summary: keep an (almost) accurate running count of the reachable (live) flow graph nodes. Reviewed-by: kvn, twisti, jrose, vlivanov
author bharadwaj
date Tue, 27 Nov 2012 17:24:15 -0800
parents 424142833d10
children 8373c19be854
comparison
equal deleted inserted replaced
7195:2cd5e15048e6 7196:2aff40cb4703
144 old->set_req(i, NULL); 144 old->set_req(i, NULL);
145 blk_adjust += yank_if_dead_recurse(n, orig_old, current_block, value, regnd); 145 blk_adjust += yank_if_dead_recurse(n, orig_old, current_block, value, regnd);
146 } 146 }
147 } 147 }
148 // Disconnect control and remove precedence edges if any exist 148 // Disconnect control and remove precedence edges if any exist
149 old->disconnect_inputs(NULL); 149 old->disconnect_inputs(NULL, C);
150 } 150 }
151 return blk_adjust; 151 return blk_adjust;
152 } 152 }
153 153
154 //------------------------------use_prior_register----------------------------- 154 //------------------------------use_prior_register-----------------------------
511 } 511 }
512 if( u != NodeSentinel ) { // Junk Phi. Remove 512 if( u != NodeSentinel ) { // Junk Phi. Remove
513 b->_nodes.remove(j--); phi_dex--; 513 b->_nodes.remove(j--); phi_dex--;
514 _cfg._bbs.map(phi->_idx,NULL); 514 _cfg._bbs.map(phi->_idx,NULL);
515 phi->replace_by(u); 515 phi->replace_by(u);
516 phi->disconnect_inputs(NULL); 516 phi->disconnect_inputs(NULL, C);
517 continue; 517 continue;
518 } 518 }
519 // Note that if value[pidx] exists, then we merged no new values here 519 // Note that if value[pidx] exists, then we merged no new values here
520 // and the phi is useless. This can happen even with the above phi 520 // and the phi is useless. This can happen even with the above phi
521 // removal for complex flows. I cannot keep the better known value here 521 // removal for complex flows. I cannot keep the better known value here