enforce monotonicity in heap contributions from call sites
authorjjenista <jjenista>
Mon, 10 Jan 2011 19:40:35 +0000 (19:40 +0000)
committerjjenista <jjenista>
Mon, 10 Jan 2011 19:40:35 +0000 (19:40 +0000)
Robust/src/Analysis/Disjoint/DisjointAnalysis.java

index 9e686e4006ad15fe0ccd2b4a43be26b2b7537e34..c2139b221663b7b4c4ab8ee3bcd03d10906a9f6c 100644 (file)
@@ -1496,6 +1496,10 @@ public class DisjointAnalysis {
                            writeDebugDOTs
                            );
 
+      // enforce that a call site contribution can only
+      // monotonically increase
+      heapForThisCall_cur.merge( heapForThisCall_old );
+
       if( !heapForThisCall_cur.equals( heapForThisCall_old ) ) {        
         // if heap at call site changed, update the contribution,
         // and reschedule the callee for analysis
@@ -2394,7 +2398,7 @@ private ReachGraph createInitialTaskReachGraph(FlatMethod fm) {
            }       
        }           
     }  
-//    debugSnapshot(rg, fm, true);
+
     return rg;
 }
 
@@ -2593,7 +2597,7 @@ getFlaggedAllocationSitesReachableFromTaskPRIVATE(TaskDescriptor td) {
                      false,  // hide reachability
                      false,  // hide subset reachability states
                      true,   // hide predicates
-                     false );// hide edge taints
+                     true ); // hide edge taints
     }
   }