fix bugs
authorbdemsky <bdemsky>
Fri, 26 Jun 2009 00:39:45 +0000 (00:39 +0000)
committerbdemsky <bdemsky>
Fri, 26 Jun 2009 00:39:45 +0000 (00:39 +0000)
Robust/src/IR/Flat/Inliner.java

index 77e37c7251b51067a54bb58967293f45278676bf..61f3fa50631d75c1de932fc4ccab738e9949ba2f 100644 (file)
@@ -130,7 +130,7 @@ public class Inliner {
          for(int i=0;i<fn.numNext();i++) {
            FlatNode fnnext=fn.getNext(i);
            FlatNode fnnextclone=flatmap.get(fnnext);
-           fnclone.addNext(fnnextclone);
+           fnclone.setNewNext(i, fnnextclone);
          }
        } else {
          fnclone.addNext(aftercallnode);
@@ -142,6 +142,8 @@ public class Inliner {
        FlatNode fnprev=fc.getPrev(i);
        for(int j=0;j<fnprev.numNext();j++) {
          if (fnprev.getNext(j)==fc) {
+           //doing setnewnext to avoid changing the node we are
+           //iterating over
            fnprev.setNewNext(j, first);
            break;
          }