| 206 | // Phi, but not for every Node. If the def goes dead, it is recursively |
| 207 | // killed, which may include 'this' Node. |
| 208 | Node delDef(int idx) { |
| 209 | unlock(); |
| 210 | Node old_def = in(idx); |
| 211 | if( old_def != null && // If the old def exists, remove a def->use edge |
| 212 | old_def.delUse(this) ) // If we removed the last use, the old def is now dead |
| 213 | old_def.kill(); // Kill old def |
| 214 | old_def.moveDepsToWorklist(); |
| 215 | Utils.del(_inputs, idx); |
| 216 | return this; |
| 217 | } |
| 218 | |
| 219 | /** |
| 220 | * Add a new def to an existing Node. Keep the edges correct by |