From: jjenista Date: Mon, 10 Jan 2011 19:40:35 +0000 (+0000) Subject: enforce monotonicity in heap contributions from call sites X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=6b7701dbbcc68719079e522ef23c0f85914fcbc1;p=IRC.git enforce monotonicity in heap contributions from call sites --- diff --git a/Robust/src/Analysis/Disjoint/DisjointAnalysis.java b/Robust/src/Analysis/Disjoint/DisjointAnalysis.java index 9e686e40..c2139b22 100644 --- a/Robust/src/Analysis/Disjoint/DisjointAnalysis.java +++ b/Robust/src/Analysis/Disjoint/DisjointAnalysis.java @@ -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 } }