X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=Robust%2Fsrc%2FIR%2FState.java;h=a3f0a8bcd31acc0db3e9371b08adba723fb37526;hb=25e0a107717c4ddd7b27a5f9a9fc3385888cef91;hp=dc488eab0a2f7aaee30c7b1afb917b794b00c133;hpb=bdd0f1fe181ccdb41cb9e3d5805bc31016a0bf86;p=IRC.git diff --git a/Robust/src/IR/State.java b/Robust/src/IR/State.java index dc488eab..a3f0a8bc 100644 --- a/Robust/src/IR/State.java +++ b/Robust/src/IR/State.java @@ -3,6 +3,7 @@ import IR.Tree.*; import IR.Flat.*; import IR.*; import Util.Lattice; +import Util.Pair; import java.util.*; import Analysis.TaskStateAnalysis.*; @@ -39,7 +40,7 @@ public class State { this.selfloops=new HashSet(); this.excprefetch=new HashSet(); this.classpath=new Vector(); - this.cd2locationOrderMap=new Hashtable(); + this.fn2labelMap=new Hashtable(); this.lines=0; } @@ -67,6 +68,8 @@ public class State { /** Boolean flag which indicates whether compiler is compiling a task-based * program. */ + public boolean JNI=false; + public boolean CAPTURE_NULL_DEREFERENCES=false; public boolean POINTER=false; public boolean COREPROF=false; public boolean WEBINTERFACE=false; @@ -91,7 +94,7 @@ public class State { public String OWNERSHIPDEBUGCALLEE=null; public String OWNERSHIPDEBUGCALLER=null; - + public boolean DISJOINT=false; public int DISJOINTALLOCDEPTH=1; @@ -120,8 +123,20 @@ public class State { public int DISJOINTSNAPVISITTOSTART=0; public int DISJOINTSNAPNUMVISITS=0; public boolean DISJOINTSNAPSTOPAFTER=false; - public boolean DISJOINTDEBUGSCHEDULING=false; + public boolean DISJOINT_WRITE_ALL_NODE_FINAL_GRAPHS=false; + public boolean DISJOINT_COUNT_VISITS=false; + public boolean DISJOINT_COUNT_GRAPH_ELEMENTS=false; + public String DISJOINT_COUNT_GRAPH_ELEMENTS_FILE=null; + + public boolean POINTSTO_CHECK_V_RUNTIME=false; + + public boolean DO_DEFINITE_REACH_ANALYSIS=false; + public boolean DISJOINT_USE_GLOBAL_SWEEP=true; + public boolean DISJOINT_USE_STRONG_UPDATE=true; + public boolean DISJOINT_USE_PREDICATES=true; + public boolean DISJOINT_SUMMARIZE_PER_CLASS=false; + public boolean OOOJAVA=false; public boolean OOODEBUG=false; @@ -129,10 +144,15 @@ public class State { public boolean RCR_DEBUG=false; public boolean RCR_DEBUG_VERBOSE=false; public boolean NOSTALLTR=false; - + //SSJava public boolean SSJAVA=false; - + public boolean SSJAVADEBUG=false; + public boolean SSJAVAINFER=false; + public boolean SSJAVA_GENCODE_PREVENT_CRASHES=false; + public boolean SSJAVA_INJECT_ERROR=false; + public int SSJAVA_INV_ERROR_PROB=0; + public int SSJAVA_ERROR_SEED=0; public boolean OPTIONAL=false; public boolean NOLOOP=false; @@ -145,7 +165,7 @@ public class State { public boolean METHODEFFECTS=false; public static double TRUEPROB=0.8; public static boolean PRINTFLAT=false; - + //DSM options public boolean DSM=false; public boolean DSMTASK=false; @@ -163,10 +183,11 @@ public class State { public boolean DELAYCOMP=false; public boolean DUALVIEW=false; public boolean HYBRID=false; - + // Bamboo options public boolean MULTICORE=false; public boolean MULTICOREGC=false; + public boolean PMC=false; public boolean BAMBOOCOMPILETIME = false; public boolean ARRAYBOUNDARYCHECK=true; public boolean RAW=false; @@ -182,7 +203,7 @@ public class State { // MGC options public boolean MGC=false; public boolean OBJECTLOCKDEBUG=false; - + //Other options public String structfile; public String main; @@ -205,7 +226,7 @@ public class State { private int numtasks=0; private int numstaticblocks=0; private int arraycount=0; - public Hashtable cd2locationOrderMap; + public Hashtable fn2labelMap; public boolean OPTIMIZE=false; public boolean LINENUM=false; @@ -255,6 +276,11 @@ public class State { return td; } + public static TypeDescriptor getTypeDescriptor(String n) { + TypeDescriptor td=new TypeDescriptor(n); + return td; + } + public void addClass(ClassDescriptor tdn) { if (classes.contains(tdn.getSymbol())) throw new Error("Class "+tdn.getSymbol()+" defined twice"); @@ -268,15 +294,15 @@ public class State { sclasses.add(tdn); } } - + public int numClasses() { return numclasses; } - + public int numInterfaces() { return numinterfaces; } - + public int numStaticBlocks() { return numstaticblocks; } @@ -296,7 +322,7 @@ public class State { public SymbolTable getTaskSymbolTable() { return tasks; } - + public SymbolTable getSClassSymbolTable() { return sclasses; } @@ -348,13 +374,5 @@ public class State { tasks.add(td); numtasks++; } - - public void addLocationOrder(ClassDescriptor cd, Lattice order){ - cd2locationOrderMap.put(cd,order); - } - - public Hashtable getCd2LocationOrder(){ - return cd2locationOrderMap; - } - + }