X-Git-Url: http://plrg.eecs.uci.edu/git/?p=jpf-core.git;a=blobdiff_plain;f=src%2Fmain%2Fgov%2Fnasa%2Fjpf%2Flistener%2FConflictTracker.java;h=b5c8d089ed5c0134fdf5004d518896de64868c4e;hp=3621a49ac3598589be39941c1107a27b20a919c2;hb=f268249692eaebabff7fca979a59fdf415b00867;hpb=7f5a7295be6ff2ddf69268f5c73d80a5d5428a2a diff --git a/src/main/gov/nasa/jpf/listener/ConflictTracker.java b/src/main/gov/nasa/jpf/listener/ConflictTracker.java index 3621a49..b5c8d08 100644 --- a/src/main/gov/nasa/jpf/listener/ConflictTracker.java +++ b/src/main/gov/nasa/jpf/listener/ConflictTracker.java @@ -172,11 +172,14 @@ public class ConflictTracker extends ListenerAdapter { boolean updateEdge(Node parentNode, Node currentNode) { ArrayList setSet = currentNode.getSetSetMap().get(parentNode); HashSet updatedVarNames = new HashSet(); + HashMap writerLastValue = new HashMap(); + boolean isChanged = false; if (setSet != null) { for (int i = 0;i < setSet.size();i++) { updatedVarNames.add(setSet.get(i).getVarName()); + writerLastValue.put(setSet.get(i).getAppNum(), setSet.get(i).getValue()); } } @@ -187,7 +190,9 @@ public class ConflictTracker extends ListenerAdapter { if (setSet != null) { for (int i = 0;i < setSet.size();i++) { - isChanged |= currentNode.getOutSet().add(setSet.get(i)); + if (setSet.get(i).getValue().equals(writerLastValue.get(setSet.get(i).getAppNum()))) { + isChanged |= currentNode.getOutSet().add(setSet.get(i)); + } } }