auto-enqueue reductions
authoradam <adam@megacz.com>
Mon, 26 Feb 2007 01:16:43 +0000 (20:16 -0500)
committeradam <adam@megacz.com>
Mon, 26 Feb 2007 01:16:43 +0000 (20:16 -0500)
darcs-hash:20070226011643-5007d-f0547a0a5fd9eb82fe239d3d5c0ea0948d42ca68.gz

src/edu/berkeley/sbp/Node.java
src/edu/berkeley/sbp/Reduction.java

index 5c0f023..14114b9 100644 (file)
@@ -56,11 +56,7 @@ final class Node
                 Node child = res.parent();
                 holder[pos] = res.getForest();
                 if (pos>0)  child.reduce(r, pos-1, target, null);
-                else {
-                    Reduction reduction =
-                        new Reduction(child, r, r.rewrite(child.phase().getLocation().createRegion(target.getLocation())), target);
-                    target.reductionQueue.add(reduction);
-                }
+                else new Reduction(child, r, r.rewrite(child.phase().getLocation().createRegion(target.getLocation())), target);
             }
 
         holder[pos] = old;
index 922c60a..06ae49b 100644 (file)
@@ -22,6 +22,7 @@ final class Reduction implements Comparable<Reduction> {
         this.result = result;
         this.phase = target;
         this.node = node;
+        target.reductionQueue.add(this);
     }
 
     public void perform() {