bug in equals method
authorbdemsky <bdemsky>
Mon, 21 May 2007 07:34:37 +0000 (07:34 +0000)
committerbdemsky <bdemsky>
Mon, 21 May 2007 07:34:37 +0000 (07:34 +0000)
Robust/src/Analysis/TaskStateAnalysis/TagAnalysis.java
Robust/src/Analysis/TaskStateAnalysis/TagBinding.java
Robust/src/Main/Main.java

index 72ad3b86bbbda6f399d3f20a745f459729cd3ec9..24b7417a9d7dc1ec3f37cddc0a7a09ddc0948815 100644 (file)
@@ -167,6 +167,7 @@ private void computeCallsFlags(FlatMethod fm, Hashtable parammap, Set tagbinding
     
     private void computeTagBindings(Set roots) {
        tovisit.addAll(roots);
+
        for(Iterator it=roots.iterator();it.hasNext();) {
            TagBinding tb=(TagBinding)it.next();
            discovered.put(tb,tb);
@@ -180,6 +181,7 @@ private void computeCallsFlags(FlatMethod fm, Hashtable parammap, Set tagbinding
            Hashtable parammap=new Hashtable();
            int offset=md.isStatic()?0:1;
 
+
            for(int i=0;i<fm.numParameters();i++) {
                TempDescriptor temp=fm.getParameter(i);
                int offsetindex=i-offset;
@@ -191,8 +193,11 @@ private void computeCallsFlags(FlatMethod fm, Hashtable parammap, Set tagbinding
                    }
                }
            }
+
            HashSet newtags=new HashSet();
+       
            computeCallsFlags(fm, parammap, newtags, tb.getAllocations());
+
            for(Iterator tagit=newtags.iterator();tagit.hasNext();) {
                TagBinding newtag=(TagBinding)tagit.next();
                Edge e=new Edge(newtag);
index 6f8bbc5d0615dc9328fa318eb6725d27b4ecfa2d..e7360b96f6edf95411d6f168b46c48786e5ea9db 100644 (file)
@@ -50,6 +50,7 @@ public class TagBinding extends GraphNode {
                        return false;
                } else if(tb.tdarray[i]!=null)
                    return false;
+           return true;
        }
        return false;
     }
index de6b3bbc1597e7d1636a4163db873a25a40d3ff4..f2438e406d41fab6e47086f9d8353475ac869768 100644 (file)
@@ -109,7 +109,6 @@ public class Main {
       if (state.TASKSTATE) {
          CallGraph callgraph=new CallGraph(state);
          TagAnalysis taganalysis=new TagAnalysis(state, callgraph);
-         
          TaskAnalysis ta=new TaskAnalysis(state, taganalysis);
          ta.taskAnalysis();
       }