for timing disjoint reachability in oooJava benchmarks
authorjjenista <jjenista>
Fri, 1 Oct 2010 01:52:27 +0000 (01:52 +0000)
committerjjenista <jjenista>
Fri, 1 Oct 2010 01:52:27 +0000 (01:52 +0000)
Robust/src/Analysis/Disjoint/DisjointAnalysis.java
Robust/src/Analysis/OoOJava/OoOJavaAnalysis.java
Robust/src/Benchmarks/oooJava/barneshut/makefile

index 28e6256d86dd21a6c6ea6682337f2f91cc937c44..c96adb02eba5b1955f3c36411e2387348e44ff93 100644 (file)
@@ -612,7 +612,20 @@ public class DisjointAnalysis {
                            RBlockRelationAnalysis rra,
                            RBlockStatusAnalysis rsa
                            ) {
-    init( s, tu, cg, l, ar, sitesToFlag, rra, rsa );
+    init( s, tu, cg, l, ar, sitesToFlag, rra, rsa, false );
+  }
+
+  public DisjointAnalysis( State            s,
+                          TypeUtil         tu,
+                          CallGraph        cg,
+                          Liveness         l,
+                          ArrayReferencees ar,
+                           Set<FlatNew> sitesToFlag,
+                           RBlockRelationAnalysis rra,
+                           RBlockStatusAnalysis rsa,
+                           boolean suppressOutput
+                           ) {
+    init( s, tu, cg, l, ar, sitesToFlag, rra, rsa, suppressOutput );
   }
   
   protected void init( State            state,
@@ -622,7 +635,8 @@ public class DisjointAnalysis {
                        ArrayReferencees arrayReferencees,
                        Set<FlatNew> sitesToFlag,
                        RBlockRelationAnalysis rra,
-                       RBlockStatusAnalysis rsa
+                       RBlockStatusAnalysis rsa,
+                       boolean suppressOutput
                        ) {
          
     analysisComplete = false;
@@ -645,8 +659,8 @@ public class DisjointAnalysis {
     this.releaseMode             = state.DISJOINTRELEASEMODE;
     this.determinismDesired      = state.DISJOINTDETERMINISM;
 
-    this.writeFinalDOTs          = state.DISJOINTWRITEDOTS && !state.DISJOINTWRITEALL;
-    this.writeAllIncrementalDOTs = state.DISJOINTWRITEDOTS &&  state.DISJOINTWRITEALL;
+    this.writeFinalDOTs          = state.DISJOINTWRITEDOTS && !state.DISJOINTWRITEALL && !suppressOutput;
+    this.writeAllIncrementalDOTs = state.DISJOINTWRITEDOTS &&  state.DISJOINTWRITEALL && !suppressOutput;
 
     this.takeDebugSnapshots      = state.DISJOINTSNAPSYMBOL != null;
     this.descSymbolDebug         = state.DISJOINTSNAPSYMBOL;
@@ -706,15 +720,15 @@ public class DisjointAnalysis {
         writeFinalGraphs();      
       }
 
-      if( state.DISJOINTWRITEIHMS ) {
+      if( state.DISJOINTWRITEIHMS && !suppressOutput ) {
         writeFinalIHMs();
       }
 
-      if( state.DISJOINTWRITEINITCONTEXTS ) {
+      if( state.DISJOINTWRITEINITCONTEXTS && !suppressOutput ) {
         writeInitialContexts();
       }
 
-      if( state.DISJOINTALIASFILE != null ) {
+      if( state.DISJOINTALIASFILE != null && !suppressOutput ) {
         if( state.TASK ) {
           writeAllSharing(state.DISJOINTALIASFILE, treport, justtime, state.DISJOINTALIASTAB, state.lines);
         } else {
index 2424ae8d17fcf8608eaf15354a3ff5dd180403ec..819ea516ebdf92306028aa4f8b82d8db0b0aea51 100644 (file)
@@ -149,12 +149,9 @@ public class OoOJavaAnalysis {
     // 5th pass, use disjointness with NO FLAGGED REGIONS
     // to compute taints and effects
     disjointAnalysisTaints =
-        new DisjointAnalysis(state, typeUtil, callGraph, liveness, arrayReferencees, null, // no
-                                                                                           // FlatNew
-                                                                                           // set
-                                                                                           // to
-                                                                                           // flag
-            rblockRel, rblockStatus);
+        new DisjointAnalysis(state, typeUtil, callGraph, liveness, arrayReferencees, null, 
+                             rblockRel, rblockStatus,
+                             true ); // suppress output--this is an intermediate pass
 
     // 6th pass, not available analysis FOR VARIABLES!
     methItr = descriptorsToAnalyze.iterator();
index 0df9e266de99d12418cfa63ce9297c8ca951dfee..8609cb7c12975d0268df2ff4e6d65068765ea5c3 100644 (file)
@@ -7,7 +7,10 @@ BUILDSCRIPT=../../../buildscript
 
 USEOOO= -ooojava 24 2  -ooodebug  
 BSFLAGS= -64bit -mainclass $(PROGRAM)  -heapsize-mb 1024 -garbagestats -debug -joptimize -noloop -optimize #-coreprof -coreprof-checkoverflow 
-DISJOINT= -disjoint -disjoint-k 1 -enable-assertions #-disjoint-desire-determinism
+
+DRELEASEMODE=-disjoint-release-mode -disjoint-alias-file aliases.txt tabbed
+
+DISJOINT= -disjoint -disjoint-k 1 -enable-assertions $(DRELEASEMODE) #-disjoint-desire-determinism
 
 default:
        $(BUILDSCRIPT) -nojava $(USEOOO) $(BSFLAGS) $(DISJOINT) -o $(PROGRAM)p $(SOURCE_FILES) -builddir par