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

Method addDef

chapter21/src/main/java/com/seaofnodes/simple/node/Node.java:218–226  ·  view source on GitHub ↗

Add a new def to an existing Node. Keep the edges correct by adding the corresponding def->use edge. @param new_def the new definition, appended to the end of existing definitions @return new_def for flow coding

(Node new_def)

Source from the content-addressed store, hash-verified

216 * @return new_def for flow coding
217 */
218 public Node addDef(Node new_def) {
219 unlock();
220 // Add use->def edge
221 _inputs.add(new_def);
222 // If new def is not null, add the corresponding def->use edge
223 if( new_def != null )
224 new_def.addUse(this);
225 return new_def;
226 }
227
228 // Breaks the edge invariants, used temporarily
229 protected <N extends Node> void addUse(N n) { _outputs.add(n); }

Callers 15

drop_same_opMethod · 0.95
setDefXMethod · 0.95
forceExitMethod · 0.95
parseFunctionBodyMethod · 0.45
parseStructMethod · 0.45
functionCallMethod · 0.45
regAllocMethod · 0.45
anti_depMethod · 0.45
linkMethod · 0.45
mergeMethod · 0.45
aliasMethod · 0.45
PhiNodeMethod · 0.45

Calls 3

unlockMethod · 0.95
addMethod · 0.45
addUseMethod · 0.45

Tested by

no test coverage detected