From 10b0bbc78eac22369d981703ff6dd1a4a670e5f9 Mon Sep 17 00:00:00 2001 From: yeom Date: Mon, 9 Aug 2010 21:46:34 +0000 Subject: [PATCH] fix to handle stall site properly for generating conflicts effect set. --- Robust/src/Analysis/OoOJava/ConflictGraph.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Robust/src/Analysis/OoOJava/ConflictGraph.java b/Robust/src/Analysis/OoOJava/ConflictGraph.java index 8a873f31..c8b76c87 100644 --- a/Robust/src/Analysis/OoOJava/ConflictGraph.java +++ b/Robust/src/Analysis/OoOJava/ConflictGraph.java @@ -24,7 +24,7 @@ import IR.Flat.TempDescriptor; public class ConflictGraph { protected Hashtable id2cn; - protected Hashtable>> sese2te; + protected Hashtable>> sese2te; protected DisjointAnalysis da; protected FlatMethod fmEnclosing; @@ -36,7 +36,7 @@ public class ConflictGraph { public ConflictGraph() { id2cn = new Hashtable(); - sese2te = new Hashtable>>(); + sese2te = new Hashtable>>(); } public void setDisJointAnalysis(DisjointAnalysis da) { @@ -98,7 +98,8 @@ public class ConflictGraph { node = new ConflictNode(id, ConflictNode.STALLSITE, t.getVar(), t.getStallSite()); } node.addEffect(as, e); - + node.addTaint(t); + id2cn.put(id, node); } @@ -439,7 +440,13 @@ public class ConflictGraph { private void addEffectSetByTaint(Taint t, Effect e) { - Hashtable> taint2Conflicts = sese2te.get(t.getSESE()); + FlatNode node=t.getSESE(); + if(node==null){ + // stall site case + node=t.getStallSite(); + } + + Hashtable> taint2Conflicts = sese2te.get(node); if (taint2Conflicts == null) { taint2Conflicts = new Hashtable>(); } @@ -451,7 +458,7 @@ public class ConflictGraph { effectSet.add(e); taint2Conflicts.put(t, effectSet); - sese2te.put(t.getSESE(), taint2Conflicts); + sese2te.put(node, taint2Conflicts); } -- 2.34.1