adjustments to stack-based method scheduling, debug controls, a micro benchmark,...
[IRC.git] / Robust / src / IR / State.java
index bc7e742b8c36e00c21fb45a02bde5b5a32e2ae63..e12612dc72ca73e12b1e0d0a3c1600d9aa7270cc 100644 (file)
@@ -58,8 +58,6 @@ public class State {
   public boolean FLATIRGRAPHTASKS=false;
   public boolean FLATIRGRAPHUSERMETHODS=false;
   public boolean FLATIRGRAPHLIBMETHODS=false;
-  public boolean MULTICORE=false;
-  public boolean MULTICOREGC=false;
   public boolean OWNERSHIP=false;
   public int OWNERSHIPALLOCDEPTH=3;
   public boolean OWNERSHIPWRITEDOTS=false;
@@ -69,22 +67,36 @@ public class State {
   public int OWNERSHIPDEBUGCALLCOUNT=0;
   public String OWNERSHIPDEBUGCALLEE=null;
   public String OWNERSHIPDEBUGCALLER=null;
+  
   public boolean DISJOINT=false;
+  public boolean DISJOINTRELEASEMODE=false;
+  public boolean DISJOINTDETERMINISM=false;
   public int DISJOINTALLOCDEPTH=3;
   public boolean DISJOINTWRITEDOTS=false;
   public boolean DISJOINTWRITEALL=false;
+  public boolean DISJOINTWRITEIHMS=false;
   public String DISJOINTALIASFILE=null;
   public boolean DISJOINTALIASTAB=false;
-  public int DISJOINTDEBUGCALLCOUNT=0;
+
   public String DISJOINTDEBUGCALLEE=null;
   public String DISJOINTDEBUGCALLER=null;
+  public int DISJOINTDEBUGCALLVISITTOSTART=0;
+  public int DISJOINTDEBUGCALLNUMVISITS=0;
+  public boolean DISJOINTDEBUGCALLSTOPAFTER=false;
+
+  public String DISJOINTSNAPSYMBOL=null;
+  public int DISJOINTSNAPVISITTOSTART=0;
+  public int DISJOINTSNAPNUMVISITS=0;
+  public boolean DISJOINTSNAPSTOPAFTER=false;
+
+  public boolean DISJOINTDVISITSTACK=true;
+  public boolean DISJOINTDVISITPQUE=false;
+  public boolean DISJOINTDVISITSTACKEESONTOP=false;
+
+  public boolean DISJOINTDEBUGSCHEDULING=false;
+
   public boolean OPTIONAL=false;
-  public boolean ARRAYBOUNDARYCHECK=true;
-  public boolean RAW=false;
   public boolean ARRAYPAD=false;
-  public boolean SCHEDULING=false;
-  public boolean USEPROFILE=false;
-  public String profilename = null;
   public boolean THREAD=false;
   public boolean CONSCHECK=false;
   public boolean INSTRUCTIONFAILURE=false;
@@ -95,14 +107,16 @@ public class State {
   public boolean METHODEFFECTS=false;
   public static double TRUEPROB=0.8;
   public static boolean PRINTFLAT=false;
-  public static boolean PRINTSCHEDULING=false;
-  public static boolean PRINTSCHEDULESIM=false;
-  public static boolean PRINTCRITICALPATH=false;
+  
   //DSM options
   public boolean DSM=false;
   public boolean DSMTASK=false;
   public static boolean ABORTREADERS=false;
+
+  // Recovery Stats Options
+  public boolean DSMRECOVERYSTATS=false;
   //STM options
+  public boolean EVENTMONITOR=false;
   public static boolean STMARRAY=false;
   public static boolean SINGLETM=false;
   public static boolean READSET=false;
@@ -111,11 +125,25 @@ public class State {
   public boolean DELAYCOMP=false;
   public boolean DUALVIEW=false;
   public boolean HYBRID=false;
-  //Other options
+  
+  // Bamboo options
+  public boolean MULTICORE=false;
+  public boolean MULTICOREGC=false;
+  public boolean BAMBOOCOMPILETIME = false;
+  public boolean ARRAYBOUNDARYCHECK=true;
+  public boolean RAW=false;
+  public boolean SCHEDULING=false;
+  public boolean USEPROFILE=false;
+  public static boolean PRINTSCHEDULING=false;
+  public static boolean PRINTSCHEDULESIM=false;
+  public static boolean PRINTCRITICALPATH=false;
   public int CORENUM = 1;
+  public int CORENUM4GC = 0;
+  public String profilename = null;
+  public String outputdir = "/scratch/";
+  //Other options
   public String structfile;
   public String main;
-  public String outputdir = "/scratch/";
   public boolean INLINEATOMIC=false;
   public int inlineatomicdepth;
   public HashSet selfloops;