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

Method addDep

chapter17/src/main/java/com/seaofnodes/simple/node/Node.java:470–480  ·  view source on GitHub ↗

Add a node to the list of dependencies. Only add it if its not an input or output of this node, that is, it is at least one step away. The node being added must benefit from this node being peepholed.

( Node dep )

Source from the content-addressed store, hash-verified

468 * being added must benefit from this node being peepholed.
469 */
470 Node addDep( Node dep ) {
471 // Running peepholes during the big assert cannot have side effects
472 // like adding dependencies.
473 if( IterPeeps.midAssert() ) return this;
474 if( _deps==null ) _deps = new Ary<>(Node.class);
475 if( _deps .find(dep) != -1 ) return this; // Already on list
476 if( _inputs .find(dep) != -1 ) return this; // No need for deps on immediate neighbors
477 if( _outputs.find(dep) != -1 ) return this;
478 _deps.add(dep);
479 return this;
480 }
481
482 // Move the dependents onto a worklist, and clear for future dependents.
483 public void moveDepsToWorklist( ) {

Callers 13

profitMethod · 0.95
computeMethod · 0.45
idealizeMethod · 0.45
singleUniqueInputMethod · 0.45
allConsMethod · 0.45
checkOnlyUseMethod · 0.45
allConsMethod · 0.45
_idomMethod · 0.45
idealizeMethod · 0.45
idealizeMethod · 0.45
idealizeMethod · 0.45
idealizeMethod · 0.45

Calls 3

midAssertMethod · 0.95
findMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected