MCPcopy Create free account
hub / github.com/SeaOfNodes/Simple / kill

Method kill

chapter07/src/main/java/com/seaofnodes/simple/node/Node.java:251–256  ·  view source on GitHub ↗

Kill a Node with no uses , by setting all of its defs to null. This may recursively kill more Nodes and is basically dead code elimination. This function is co-recursive with #popN.

( )

Source from the content-addressed store, hash-verified

249 * code elimination. This function is co-recursive with {@link #popN}.
250 */
251 public void kill( ) {
252 assert isUnused(); // Has no uses, so it is dead
253 popN(nIns()); // Set all inputs to null, recursively killing unused Nodes
254 _type=null; // Flag as dead
255 assert isDead(); // Really dead now
256 }
257
258 // Mostly used for asserts and printing.
259 boolean isDead() { return isUnused() && nIns()==0 && _type==null; }

Callers 8

setDefMethod · 0.95
delDefMethod · 0.95
popNMethod · 0.95
subsumeMethod · 0.95
deadCodeElimMethod · 0.95
parseWhileMethod · 0.45
mergeScopesMethod · 0.45
endLoopMethod · 0.45

Calls 4

isUnusedMethod · 0.95
popNMethod · 0.95
nInsMethod · 0.95
isDeadMethod · 0.95

Tested by

no test coverage detected