From a2af0dd4dbc26e1bd0bc9cbf4f205ed38ccce9e7 Mon Sep 17 00:00:00 2001 From: yeom Date: Fri, 16 Jul 2010 05:54:54 +0000 Subject: [PATCH] fix: remove unnecessary conflict edge + better representation of conflict graph file --- .../src/Analysis/OoOJava/ConflictGraph.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/Robust/src/Analysis/OoOJava/ConflictGraph.java b/Robust/src/Analysis/OoOJava/ConflictGraph.java index b34c7aa0..82d1d3e9 100644 --- a/Robust/src/Analysis/OoOJava/ConflictGraph.java +++ b/Robust/src/Analysis/OoOJava/ConflictGraph.java @@ -188,6 +188,11 @@ public class ConflictGraph { if(currentNode.isStallSiteNode() && entryNode.isStallSiteNode()){ continue; } + + if( (currentNode.isInVarNode() && entryNode.isInVarNode()) && + (currentNode.getSESEIdentifier()==entryNode.getSESEIdentifier()) ){ + continue; + } if ((!currentNode.getID().equals(entryNodeID)) && !(analyzedIDSet.contains(currentNode.getID() + entryNodeID) || analyzedIDSet @@ -325,11 +330,15 @@ public class ConflictGraph { if (strongUpdateA.getAffectedAllocSite().equals(effectB.getAffectedAllocSite()) && strongUpdateA.getField().equals(effectB.getField())) { - FlatNew fnRoot1 = asA.getFlatNew(); - FlatNew fnRoot2 = asB.getFlatNew(); - FlatNew fnTarget = strongUpdateA.getAffectedAllocSite().getFlatNew(); - if (da.mayBothReachTarget(fmEnclosing, fnRoot1, fnRoot2, fnTarget)) { - conflictType = updateConflictType(conflictType, ConflictGraph.COARSE_GRAIN_EDGE); + if (useReachInfo) { + FlatNew fnRoot1 = asA.getFlatNew(); + FlatNew fnRoot2 = asB.getFlatNew(); + FlatNew fnTarget = strongUpdateA.getAffectedAllocSite().getFlatNew(); + if (da.mayBothReachTarget(fmEnclosing, fnRoot1, fnRoot2, fnTarget)) { + conflictType = updateConflictType(conflictType, ConflictGraph.COARSE_GRAIN_EDGE); + } + }else{ + return ConflictGraph.CONFLICT; } } @@ -646,6 +655,11 @@ public class ConflictGraph { continue; } + + if(node.getEdgeSet().isEmpty()){ + continue; + } + } String attributes = "["; -- 2.34.1