bug fix: add the invar to the coarseConflictSet when the invar itself has a conflict.
authoryeom <yeom>
Tue, 2 Nov 2010 01:01:36 +0000 (01:01 +0000)
committeryeom <yeom>
Tue, 2 Nov 2010 01:01:36 +0000 (01:01 +0000)
Robust/src/IR/Flat/RuntimeConflictResolver.java

index 2d452c01c01310cea6ed75de5b984cedf5320b4b..c26f71d85158fe5dd33aecb0325a15a1cf430f5a 100644 (file)
@@ -253,7 +253,7 @@ public class RuntimeConflictResolver {
       if(!created.isEmpty()) {
         for(Iterator<ConcreteRuntimeObjNode> it=created.values().iterator();it.hasNext();) {
           ConcreteRuntimeObjNode obj=it.next();
-          if (obj.hasPrimitiveConflicts()||obj.decendantsConflict()) {
+          if (obj.hasPrimitiveConflicts()||obj.decendantsConflict()||obj.hasDirectObjConflict) {
             rblock.addInVarForDynamicCoarseConflictResolution(invar);
             break;
           }
@@ -642,7 +642,7 @@ public class RuntimeConflictResolver {
       FlatSESEEnterNode fsese=taint.getSESE();
       TempDescriptor tmp=taint.getVar();
       index=fsese.getInVarsForDynamicCoarseConflictResolution().indexOf(tmp);
-    }
+     }
 
     cFile.println(methodName + " {");
     headerFile.println(methodName + ";");