Mercurial > hg > truffle
changeset 13979:5568586d32a6
factor out listener notify. fix typo
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Wed, 19 Feb 2014 11:18:37 -0800 |
parents | 67905c049016 |
children | 68ae6fae9d2e |
files | graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/ClassSubstitution.java graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java |
diffstat | 2 files changed, 20 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/ClassSubstitution.java Wed Feb 19 11:16:42 2014 -0800 +++ b/graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/ClassSubstitution.java Wed Feb 19 11:18:37 2014 -0800 @@ -61,6 +61,5 @@ * Determines if the substitutions in a class are globally enabled. Individual * MethodSubstitutions can also have guards and those override this guard. */ - Class<? extends SubstitutionGuard> defaultGuard() default SubstitutionGuard.class; }
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Wed Feb 19 11:16:42 2014 -0800 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Wed Feb 19 11:18:37 2014 -0800 @@ -467,17 +467,11 @@ } if (newInput != null) { if (newInput.recordsUsages()) { - NodeChangedListener listener = graph.inputChangedListener; - if (listener != null) { - listener.nodeChanged(this); - } + maybeNotifyChanged(this); newInput.addUsage(this); } } else if (oldInput != null && oldInput.recordsUsages() && oldInput.usages().isEmpty()) { - NodeChangedListener listener = graph.usagesDroppedToZeroListener; - if (listener != null) { - listener.nodeChanged(oldInput); - } + maybeNotifyZeroInputs(oldInput); } } } @@ -531,10 +525,7 @@ boolean result = usage.getNodeClass().replaceFirstInput(usage, this, other); assert assertTrue(result, "not found in inputs, usage: %s", usage); if (other != null) { - NodeChangedListener listener = graph.inputChangedListener; - if (listener != null) { - listener.nodeChanged(usage); - } + maybeNotifyChanged(usage); if (other.recordsUsages()) { other.addUsage(usage); } @@ -543,6 +534,22 @@ clearUsages(); } + private void maybeNotifyChanged(Node usage) { + assert graph == null || !graph.isFrozen(); + NodeChangedListener listener = graph.inputChangedListener; + if (listener != null) { + listener.nodeChanged(usage); + } + } + + private void maybeNotifyZeroInputs(Node oldInput) { + assert graph == null || !graph.isFrozen(); + NodeChangedListener listener = graph.usagesDroppedToZeroListener; + if (listener != null) { + listener.nodeChanged(oldInput); + } + } + public void replaceAtPredecessor(Node other) { assert checkReplaceWith(other); if (predecessor != null) { @@ -576,16 +583,12 @@ public void clearInputs() { assert assertFalse(isDeleted(), "cannot clear inputs of deleted node"); - assert graph == null || !graph.isFrozen(); for (Node input : inputs()) { if (input.recordsUsages()) { removeThisFromUsages(input); if (input.usages().isEmpty()) { - NodeChangedListener listener = graph.usagesDroppedToZeroListener; - if (listener != null) { - listener.nodeChanged(input); - } + maybeNotifyZeroInputs(input); } } }