Fixed propagation, different change sets for the x and y branches before a new edge...
[IRC.git] / Robust / src / Analysis / OwnershipAnalysis / HeapRegionNode.java
index 6650e669c343b4c0a0c2206dedc10d45484008a3..237f2a51bbd2ee2f847e8eda5f4a372f7b141732 100644 (file)
@@ -37,9 +37,11 @@ public class HeapRegionNode extends OwnershipNode {
        this.isNewSummary   = isNewSummary;
        this.allocSite      = allocSite;
        this.alpha          = alpha;
-       this.alphaNew       = null;
        this.description    = description;
 
+       alphaNew = new ReachabilitySet();
+       alphaNew = alphaNew.makeCanonical();
+
        referencers  = new HashSet<OwnershipNode>();
        memberFields = new HashSet<TempDescriptor>();
     }
@@ -138,8 +140,11 @@ public class HeapRegionNode extends OwnershipNode {
 
     public void applyAlphaNew() {
        assert alphaNew != null;
-       alpha    = alphaNew;
-       alphaNew = null;
+
+       alpha = alphaNew;
+
+       alphaNew = new ReachabilitySet();
+       alphaNew = alphaNew.makeCanonical();
     }