Mercurial > hg > graal-jvmci-8
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 |