another bug fix...need to visit everything once also..
authorbdemsky <bdemsky>
Mon, 28 Mar 2011 05:51:18 +0000 (05:51 +0000)
committerbdemsky <bdemsky>
Mon, 28 Mar 2011 05:51:18 +0000 (05:51 +0000)
Robust/src/Analysis/OoOJava/RBlockRelationAnalysis.java

index 96dc34b94d7b98bdba0caafdb1be45c15218985a..4267665b33b9389fbb673d07b875086efc439ff4 100644 (file)
@@ -466,7 +466,6 @@ public class RBlockRelationAnalysis {
         FlatMethod fm = (FlatMethod) me.getValue();
 
         flatNodesToVisit.remove( fn );
-        visited.add( fn );
 
         // the "is potential stall site" strategy is to propagate
         // "false" from the beginning of a task until you hit a
@@ -548,10 +547,11 @@ public class RBlockRelationAnalysis {
         isPotentialStallSite = isPrevPossibleStallSite || isPotentialStallSite;
         
         Boolean currentStatus=fn2isPotentialStallSite.get(fn);
-        if(currentStatus==null) {
+        if(currentStatus==null||!visited.contains(fn)) {
           //first visit
           hasChanges=true;
-        }else{
+         visited.add( fn );
+        } else {
           //not first visit
           if(isPotentialStallSite!=currentStatus){
             hasChanges=true;