introduces new flag for runtime conflict resolver.
authoryeom <yeom>
Fri, 6 Aug 2010 00:11:51 +0000 (00:11 +0000)
committeryeom <yeom>
Fri, 6 Aug 2010 00:11:51 +0000 (00:11 +0000)
Robust/src/Analysis/Disjoint/DisjointAnalysis.java
Robust/src/Analysis/OoOJava/OoOJavaAnalysis.java
Robust/src/IR/Flat/BuildCode.java
Robust/src/IR/State.java
Robust/src/Main/Main.java
Robust/src/buildscript

index b62472b4ee8fe4d3b39eae37365b072ec1c04604..28e6256d86dd21a6c6ea6682337f2f91cc937c44 100644 (file)
@@ -2461,6 +2461,10 @@ getFlaggedAllocationSitesReachableFromTaskPRIVATE(TaskDescriptor td) {
     return effectsAnalysis;
   }
   
+  public ReachGraph getReachGraph(Descriptor d){
+    return mapDescriptorToCompleteReachGraph.get(d);
+  }
+  
   
   // get successive captures of the analysis state, use compiler
   // flags to control
index 70eb4012e9b0f14ef4b2fe403aa45b3d833b4937..aa0db186d5dd2c7ac2be3db21d2da8161545ad40 100644 (file)
@@ -1574,6 +1574,10 @@ private void codePlansForward( FlatMethod fm ) {
       }
     }
   }
+  
+  public DisjointAnalysis getDisjointAnalysis(){
+    return disjointAnalysisReach;
+  }
 
   private void printSESEInfoTree( BufferedWriter bw,
           FlatSESEEnterNode fsen 
index 479fc5965681fa316bddb0f0c4dacc0584f15c1e..17408edc5a361b4e3c277663e1c7d49ef999ff7c 100644 (file)
@@ -23,6 +23,7 @@ import Analysis.Locality.DCWrapper;
 import Analysis.Locality.DelayComputation;
 import Analysis.Locality.BranchAnalysis;
 import Analysis.CallGraph.CallGraph;
+import Analysis.Disjoint.ReachGraph;
 import Analysis.OoOJava.OoOJavaAnalysis;
 import Analysis.Prefetch.*;
 import Analysis.Loops.WriteBarrier;
@@ -255,6 +256,13 @@ public class BuildCode {
       while(seseit.hasNext()){
         FlatSESEEnterNode fsen = seseit.next();
         initializeSESE( fsen );
+        
+        // invoke rcr
+        if(state.RCR){
+//          FlatMethod fm=fsen.getfmEnclosing();        
+//          ReachGraph rg=oooa.getDisjointAnalysis().getReachGraph(fm.getMethod());
+        }
+        
       }
       
     }
index 2a8a473e4b64784ac5a71a66bb4ba53b4a79ab22..5980ee086cb367d33ea1090097d85e4d12abeed8 100644 (file)
@@ -103,6 +103,7 @@ public class State {
 
   public boolean OOOJAVA=false;
   public boolean OOODEBUG=false;
+  public boolean RCR=false;
 
 
   public boolean OPTIONAL=false;
index aefe03a34bad0cb9836ce87351c299d05360c9a4..8386342bb533eb1c1b973b142d63bf6bfed932af 100644 (file)
@@ -334,6 +334,8 @@ public class Main {
 
       } else if (option.equals("-ooodebug") ){ 
   state.OOODEBUG  = true;
+      } else if (option.equals("-rcr")){
+   state.RCR = true;
       } else if (option.equals("-help")) {
        System.out.println("-classlibrary classlibrarydirectory -- directory where classlibrary is located");
        System.out.println("-selfloop task -- this task doesn't self loop its parameters forever");
index 85fafb162df065b9151d9c561ca515eeeed0283c..2ccc65ab57e13eb59160f35df3d40c88be962ebf 100755 (executable)
@@ -20,6 +20,7 @@ echo OOOJava options
 echo -coreprof turn on profiling API
 echo "-ooojava <numberofcores> <maxseseage>"
 echo -ooodebug general OOOJava debugging messages
+echo -rcr turn on runtime conflict resolver
 echo
 echo Disjoint Reachability Analysis options
 echo -disjoint enable analysis
@@ -506,6 +507,10 @@ EXTRAOPTIONS="$EXTRAOPTIONS -DPRECISE_GC -lpthread -DMLP"
 shift
 shift
 
+elif [[ $1 = '-rcr' ]]
+then
+JAVAOPTS="$JAVAOPTS -rcr"
+
 elif [[ $1 = '-coreprof' ]]
 then
 COREPROF=true