more changes
authorbdemsky <bdemsky>
Mon, 6 Aug 2007 09:12:02 +0000 (09:12 +0000)
committerbdemsky <bdemsky>
Mon, 6 Aug 2007 09:12:02 +0000 (09:12 +0000)
Robust/src/IR/Flat/FKind.java
Robust/src/IR/Flat/FlatGlobalConvNode.java
Robust/src/IR/Flat/FlatMethod.java
Robust/src/IR/Flat/FlatNode.java

index 6ccc78c73d77e6d80b08e03a35dbe10b3e06340c..5fcaa557a6e6f3ae4f689ed941b7a2715ff4b25c 100644 (file)
@@ -20,5 +20,5 @@ public class FKind {
     public static final int FlatMethod=17;
     public static final int FlatAtomicEnterNode=18;
     public static final int FlatAtomicExitNode=19;
-    public static final int FlagGlobalConvNode=20;
+    public static final int FlatGlobalConvNode=20;
 }
index 209233e9ec980123b3d2aeecee4bba29ddf436d8..ea61e84c3e8856169ca392702bbd7c3ea87696fe 100644 (file)
@@ -1,28 +1,33 @@
 package IR.Flat;
 import IR.TypeDescriptor;
+import Analysis.Locality.LocalityBinding;
 
 public class FlatGlobalConvNode extends FlatNode {
     TempDescriptor src;
-    TempDescriptor dst;
+    LocalityBinding lb;
     boolean makePtr;
 
-    public FlatGlobalConvNode(TempDescriptor src, TempDescriptor dst, boolean makePtr) {
+    public FlatGlobalConvNode(TempDescriptor src, LocalityBinding lb, boolean makePtr) {
        this.src=src;
-       this.dst=dst;
+       this.lb=lb;
        this.makePtr=makePtr;
     }
 
     public String toString() {
        if (makePtr)
-           return dst.toString()+"=(PTR)"+src.toString();
+           return src.toString()+"=(PTR)"+src.toString()+" "+lb;
        else
-           return dst.toString()+"=(OID)"+src.toString();
+           return src.toString()+"=(OID)"+src.toString()+" "+lb;
     }
 
     public int kind() {
        return FKind.FlatGlobalConvNode;
     }
 
+    public LocalityBinding getLocality() {
+       return lb;
+    }
+
     public boolean getMakePtr() {
        return makePtr;
     }
@@ -31,12 +36,8 @@ public class FlatGlobalConvNode extends FlatNode {
        return src;
     }
 
-    public TempDescriptor getDst() {
-       return dst;
-    }
-
     public TempDescriptor [] writesTemps() {
-       return new TempDescriptor[] {dst};
+       return new TempDescriptor[] {src};
     }
 
     public TempDescriptor [] readsTemps() {
index be3c8182877704b38da955111c77576b073a4458..4f1e0c9f3aa7661f1148a6acffcf29508880d5a9 100644 (file)
@@ -73,12 +73,12 @@ public class FlatMethod extends FlatNode {
 
     /** This method returns a set of the nodes in this flat representation */
 
-    public Set getNodeSet() {
-       HashSet tovisit=new HashSet();
-       HashSet visited=new HashSet();
+    public Set<FlatNode> getNodeSet() {
+       HashSet<FlatNode> tovisit=new HashSet<FlatNode>();
+       HashSet<FlatNode> visited=new HashSet<FlatNode>();
        tovisit.add(this);
        while(!tovisit.isEmpty()) {
-           FlatNode fn=(FlatNode)tovisit.iterator().next();
+           FlatNode fn=tovisit.iterator().next();
            tovisit.remove(fn);
            visited.add(fn);
            for(int i=0;i<fn.numNext();i++) {
index 6463fcabd34718ce54869505d337b612e65689cf..b1780b100c83abca0445bf3f87dbf57f84fd71f9 100644 (file)
@@ -31,6 +31,14 @@ public class FlatNode {
        next.add(n);
        n.addPrev(this);
     }
+
+    /** This function modifies the graph */
+    public void setNext(int i, FlatNode n) {
+       FlatNode old=getNext(i);
+       next.set(i, n);
+       old.prev.remove(this);
+    }
+
     protected void addPrev(FlatNode p) {
        prev.add(p);
     }