all changes for official testing
authorjjenista <jjenista>
Fri, 26 Mar 2010 20:09:16 +0000 (20:09 +0000)
committerjjenista <jjenista>
Fri, 26 Mar 2010 20:09:16 +0000 (20:09 +0000)
Robust/src/Analysis/Disjoint/DisjointAnalysis.java
Robust/src/Benchmarks/disjoint/makeTable.sh
Robust/src/Benchmarks/disjoint/makefile
Robust/src/Tests/disjoint/kmeans_new/makefile
Robust/src/Tests/disjoint/power_new/Lateral.java
Robust/src/Tests/disjoint/power_new/Root.java
Robust/src/Tests/disjoint/power_new/makefile
Robust/src/Tests/disjoint/raytracer_new/makefile

index 87c0ab1f76192e5962463d2ddc3879ac4bd76c9a..8ecc2dfaf462ee5f48e4028379b5dcdde4fcd079 100644 (file)
@@ -93,222 +93,220 @@ public class DisjointAnalysis {
                return out;
        }
        
-       // use the methods given above to check every possible alias
-         // between task parameters and flagged allocation sites reachable
-         // from the task
-         public void writeAllAliases(String outputFile, 
-                                     String timeReport,
-                                     String justTime,
-                                     boolean tabularOutput,
-                                     int numLines
-)
-                       throws java.io.IOException {
-               checkAnalysisComplete();
+  // use the methods given above to check every possible alias
+  // between task parameters and flagged allocation sites reachable
+  // from the task
+  public void writeAllAliases(String outputFile, 
+                              String timeReport,
+                              String justTime,
+                              boolean tabularOutput,
+                              int numLines
+                              )
+    throws java.io.IOException {
+    checkAnalysisComplete();
 
-               BufferedWriter bw = new BufferedWriter(new FileWriter(outputFile));
+    BufferedWriter bw = new BufferedWriter(new FileWriter(outputFile));
 
-               if (!tabularOutput) {
-                       bw.write("Conducting ownership analysis with allocation depth = "
-                                       + allocationDepth + "\n");
-                       bw.write(timeReport + "\n");
-               }
+    if (!tabularOutput) {
+      bw.write("Conducting ownership analysis with allocation depth = "
+               + allocationDepth + "\n");
+      bw.write(timeReport + "\n");
+    }
 
-               int numAlias = 0;
+    int numAlias = 0;
 
-               // look through every task for potential aliases
-               Iterator taskItr = state.getTaskSymbolTable().getDescriptorsIterator();
-               while (taskItr.hasNext()) {
-                       TaskDescriptor td = (TaskDescriptor) taskItr.next();
+    // look through every task for potential aliases
+    Iterator taskItr = state.getTaskSymbolTable().getDescriptorsIterator();
+    while (taskItr.hasNext()) {
+      TaskDescriptor td = (TaskDescriptor) taskItr.next();
 
-                       if (!tabularOutput) {
-                               bw.write("\n---------" + td + "--------\n");
-                       }
+      if (!tabularOutput) {
+        bw.write("\n---------" + td + "--------\n");
+      }
 
-                       HashSet<AllocSite> allocSites = getFlaggedAllocationSitesReachableFromTask(td);
+      HashSet<AllocSite> allocSites = getFlaggedAllocationSitesReachableFromTask(td);
 
-                       Set<HeapRegionNode> common;
+      Set<HeapRegionNode> common;
 
-                       // for each task parameter, check for aliases with
-                       // other task parameters and every allocation site
-                       // reachable from this task
-                       boolean foundSomeAlias = false;
+      // for each task parameter, check for aliases with
+      // other task parameters and every allocation site
+      // reachable from this task
+      boolean foundSomeAlias = false;
 
-                       FlatMethod fm = state.getMethodFlat(td);
-                       for (int i = 0; i < fm.numParameters(); ++i) {
+      FlatMethod fm = state.getMethodFlat(td);
+      for (int i = 0; i < fm.numParameters(); ++i) {
 
-                          // skip parameters with types that cannot reference
-                          // into the heap
-                          if( !shouldAnalysisTrack( fm.getParameter( i ).getType() ) ) {
-                            continue;
-                          }
+        // skip parameters with types that cannot reference
+        // into the heap
+        if( !shouldAnalysisTrack( fm.getParameter( i ).getType() ) ) {
+          continue;
+        }
                           
-                               // for the ith parameter check for aliases to all
-                               // higher numbered parameters
-                               for (int j = i + 1; j < fm.numParameters(); ++j) {
-
-                                  // skip parameters with types that cannot reference
-                                  // into the heap
-                                  if( !shouldAnalysisTrack( fm.getParameter( j ).getType() ) ) {
-                                    continue;
-                                  }
-
-
-                                  common = hasPotentialSharing(td, i, j);
-                                       if (!common.isEmpty()) {
-                                               foundSomeAlias = true;
-                                               if (!tabularOutput) {
-                                                       bw.write("Potential alias between parameters " + i
-                                                                       + " and " + j + ".\n");
-                                                       bw.write(prettyPrintNodeSet(common) + "\n");
-                                               } else {
-                                                       ++numAlias;
-                                               }
-                                       }
-                               }
+        // for the ith parameter check for aliases to all
+        // higher numbered parameters
+        for (int j = i + 1; j < fm.numParameters(); ++j) {
+
+          // skip parameters with types that cannot reference
+          // into the heap
+          if( !shouldAnalysisTrack( fm.getParameter( j ).getType() ) ) {
+            continue;
+          }
+
+
+          common = hasPotentialSharing(td, i, j);
+          if (!common.isEmpty()) {
+            foundSomeAlias = true;
+            if (!tabularOutput) {
+              bw.write("Potential alias between parameters " + i
+                       + " and " + j + ".\n");
+              bw.write(prettyPrintNodeSet(common) + "\n");
+            } else {
+              ++numAlias;
+            }
+          }
+        }
 
-                               // for the ith parameter, check for aliases against
-                               // the set of allocation sites reachable from this
-                               // task context
-                               Iterator allocItr = allocSites.iterator();
-                               while (allocItr.hasNext()) {
-                                       AllocSite as = (AllocSite) allocItr.next();
-                                       common = hasPotentialSharing(td, i, as);
-                                       if (!common.isEmpty()) {
-                                               foundSomeAlias = true;
-                                               if (!tabularOutput) {
-                                                       bw.write("Potential alias between parameter " + i
-                                                                       + " and " + as.getFlatNew() + ".\n");
-                                                       bw.write(prettyPrintNodeSet(common) + "\n");
-                                               } else {
-                                                       ++numAlias;
-                                               }
-                                       }
-                               }
-                       }
+        // for the ith parameter, check for aliases against
+        // the set of allocation sites reachable from this
+        // task context
+        Iterator allocItr = allocSites.iterator();
+        while (allocItr.hasNext()) {
+          AllocSite as = (AllocSite) allocItr.next();
+          common = hasPotentialSharing(td, i, as);
+          if (!common.isEmpty()) {
+            foundSomeAlias = true;
+            if (!tabularOutput) {
+              bw.write("Potential alias between parameter " + i
+                       + " and " + as.getFlatNew() + ".\n");
+              bw.write(prettyPrintNodeSet(common) + "\n");
+            } else {
+              ++numAlias;
+            }
+          }
+        }
+      }
 
-                       // for each allocation site check for aliases with
-                       // other allocation sites in the context of execution
-                       // of this task
-                       HashSet<AllocSite> outerChecked = new HashSet<AllocSite>();
-                       Iterator allocItr1 = allocSites.iterator();
-                       while (allocItr1.hasNext()) {
-                               AllocSite as1 = (AllocSite) allocItr1.next();
-
-                               Iterator allocItr2 = allocSites.iterator();
-                               while (allocItr2.hasNext()) {
-                                       AllocSite as2 = (AllocSite) allocItr2.next();
-
-                                       if (!outerChecked.contains(as2)) {
-                                               common = hasPotentialSharing(td, as1, as2);
-
-                                               if (!common.isEmpty()) {
-                                                       foundSomeAlias = true;
-                                                       if (!tabularOutput) {
-                                                               bw.write("Potential alias between "
-                                                                               + as1.getFlatNew() + " and "
-                                                                               + as2.getFlatNew() + ".\n");
-                                                               bw.write(prettyPrintNodeSet(common) + "\n");
-                                                       } else {
-                                                               ++numAlias;
-                                                       }
-                                               }
-                                       }
-                               }
+      // for each allocation site check for aliases with
+      // other allocation sites in the context of execution
+      // of this task
+      HashSet<AllocSite> outerChecked = new HashSet<AllocSite>();
+      Iterator allocItr1 = allocSites.iterator();
+      while (allocItr1.hasNext()) {
+        AllocSite as1 = (AllocSite) allocItr1.next();
+
+        Iterator allocItr2 = allocSites.iterator();
+        while (allocItr2.hasNext()) {
+          AllocSite as2 = (AllocSite) allocItr2.next();
+
+          if (!outerChecked.contains(as2)) {
+            common = hasPotentialSharing(td, as1, as2);
+
+            if (!common.isEmpty()) {
+              foundSomeAlias = true;
+              if (!tabularOutput) {
+                bw.write("Potential alias between "
+                         + as1.getFlatNew() + " and "
+                         + as2.getFlatNew() + ".\n");
+                bw.write(prettyPrintNodeSet(common) + "\n");
+              } else {
+                ++numAlias;
+              }
+            }
+          }
+        }
 
-                               outerChecked.add(as1);
-                       }
+        outerChecked.add(as1);
+      }
 
-                       if (!foundSomeAlias) {
-                               if (!tabularOutput) {
-                                       bw.write("No aliases between flagged objects in Task " + td
-                                                       + ".\n");
-                               }
-                       }
-               }
+      if (!foundSomeAlias) {
+        if (!tabularOutput) {
+          bw.write("No aliases between flagged objects in Task " + td
+                   + ".\n");
+        }
+      }
+    }
 
-               /*
-               if (!tabularOutput) {
-                       bw.write("\n" + computeAliasContextHistogram());
-               } else {
-                       bw.write(" & " + numAlias + " & " + justTime + " & " + numLines
-                                       + " & " + numMethodsAnalyzed() + " \\\\\n");
-               }
-               */
+               
+    if (tabularOutput) {
+      bw.write(" & " + numAlias + " & " + justTime + " & " + numLines
+               + " & " + numMethodsAnalyzed() + " \\\\\n");
+    }          
 
-               bw.close();
-       }
+    bw.close();
+  }
        
-       // this version of writeAllAliases is for Java programs that have no tasks
-         public void writeAllAliasesJava(String outputFile, 
-                                         String timeReport,
-                                         String justTime,
-                                         boolean tabularOutput,
-                                         int numLines
-)
-                       throws java.io.IOException {
-               checkAnalysisComplete();
-
-               assert !state.TASK;
-
-               BufferedWriter bw = new BufferedWriter(new FileWriter(outputFile));
-
-               bw.write("Conducting disjoint reachability analysis with allocation depth = "
-                               + allocationDepth + "\n");
-               bw.write(timeReport + "\n\n");
-
-               boolean foundSomeAlias = false;
-
-               Descriptor d = typeUtil.getMain();
-               HashSet<AllocSite> allocSites = getFlaggedAllocationSites(d);
-
-               // for each allocation site check for aliases with
-               // other allocation sites in the context of execution
-               // of this task
-               HashSet<AllocSite> outerChecked = new HashSet<AllocSite>();
-               Iterator allocItr1 = allocSites.iterator();
-               while (allocItr1.hasNext()) {
-                       AllocSite as1 = (AllocSite) allocItr1.next();
+  // this version of writeAllAliases is for Java programs that have no tasks
+  public void writeAllAliasesJava(String outputFile, 
+                                  String timeReport,
+                                  String justTime,
+                                  boolean tabularOutput,
+                                  int numLines
+                                  )
+    throws java.io.IOException {
+    checkAnalysisComplete();
 
-                       Iterator allocItr2 = allocSites.iterator();
-                       while (allocItr2.hasNext()) {
-                               AllocSite as2 = (AllocSite) allocItr2.next();
+    assert !state.TASK;
 
-                               if (!outerChecked.contains(as2)) {
-                                       Set<HeapRegionNode> common = hasPotentialSharing(d,
-                                                       as1, as2);
+    BufferedWriter bw = new BufferedWriter(new FileWriter(outputFile));
+    
+    bw.write("Conducting disjoint reachability analysis with allocation depth = "
+             + allocationDepth + "\n");
+    bw.write(timeReport + "\n\n");
+
+    boolean foundSomeAlias = false;
+
+    Descriptor d = typeUtil.getMain();
+    HashSet<AllocSite> allocSites = getFlaggedAllocationSites(d);
+
+    // for each allocation site check for aliases with
+    // other allocation sites in the context of execution
+    // of this task
+    HashSet<AllocSite> outerChecked = new HashSet<AllocSite>();
+    Iterator allocItr1 = allocSites.iterator();
+    while (allocItr1.hasNext()) {
+      AllocSite as1 = (AllocSite) allocItr1.next();
+
+      Iterator allocItr2 = allocSites.iterator();
+      while (allocItr2.hasNext()) {
+        AllocSite as2 = (AllocSite) allocItr2.next();
+
+        if (!outerChecked.contains(as2)) {
+          Set<HeapRegionNode> common = hasPotentialSharing(d,
+                                                           as1, as2);
+
+          if (!common.isEmpty()) {
+            foundSomeAlias = true;
+            bw.write("Potential alias between "
+                     + as1.getDisjointAnalysisId() + " and "
+                     + as2.getDisjointAnalysisId() + ".\n");
+            bw.write(prettyPrintNodeSet(common) + "\n");
+          }
+        }
+      }
 
-                                       if (!common.isEmpty()) {
-                                               foundSomeAlias = true;
-                                               bw.write("Potential alias between "
-                                                               + as1.getDisjointAnalysisId() + " and "
-                                                               + as2.getDisjointAnalysisId() + ".\n");
-                                               bw.write(prettyPrintNodeSet(common) + "\n");
-                                       }
-                               }
-                       }
+      outerChecked.add(as1);
+    }
 
-                       outerChecked.add(as1);
-               }
+    if (!foundSomeAlias) {
+      bw.write("No aliases between flagged objects found.\n");
+    }
 
-               if (!foundSomeAlias) {
-                       bw.write("No aliases between flagged objects found.\n");
-               }
+    bw.write("Number of methods analyzed: "+numMethodsAnalyzed()+"\n");
 
-//             bw.write("\n" + computeAliasContextHistogram());
-               bw.close();
-       }
+    bw.close();
+  }
          
-         ///////////////////////////////////////////
-         //
-         // end public interface
-         //
-         ///////////////////////////////////////////
+  ///////////////////////////////////////////
+  //
+  // end public interface
+  //
+  ///////////////////////////////////////////
 
-         protected void checkAnalysisComplete() {
-                   if( !analysisComplete ) {
-                     throw new Error("Warning: public interface method called while analysis is running.");
-                   }
-         
+  protected void checkAnalysisComplete() {
+    if( !analysisComplete ) {
+      throw new Error("Warning: public interface method called while analysis is running.");
+    }
+  } 
 
 
   // run in faster mode, only when bugs wrung out!
@@ -363,6 +361,7 @@ public class DisjointAnalysis {
   // interprocedural analysis, prioritized by
   // dependency in the call graph
   protected Stack<DescriptorQWrapper> 
+  //protected PriorityQueue<DescriptorQWrapper> 
     descriptorsToVisitQ;
   
   // a duplication of the above structure, but
@@ -462,6 +461,7 @@ public class DisjointAnalysis {
 
     descriptorsToVisitQ =
       new Stack<DescriptorQWrapper>();
+    //new PriorityQueue<DescriptorQWrapper>();
 
     descriptorsToVisitSet =
       new HashSet<Descriptor>();
@@ -553,13 +553,12 @@ public class DisjointAnalysis {
       if( state.TASK ) {
         writeAllAliases(state.DISJOINTALIASFILE, treport, justtime, state.DISJOINTALIASTAB, state.lines);
       } else {
-        /*
-        writeAllAliasesJava( aliasFile, 
-                             treport, 
-                             justtime, 
-                             state.DISJOINTALIASTAB, 
-                             state.lines );
-        */
+        writeAllAliasesJava(state.DISJOINTALIASFILE, 
+                            treport, 
+                            justtime, 
+                            state.DISJOINTALIASTAB, 
+                            state.lines
+                            );
       }
     }
   }
@@ -624,6 +623,8 @@ public class DisjointAnalysis {
     // analyze methods from the priority queue until it is empty
     while( !descriptorsToVisitQ.isEmpty() ) {
       Descriptor d = descriptorsToVisitQ.pop().getDescriptor();
+      //Descriptor d = descriptorsToVisitQ.poll().getDescriptor();
+
       assert descriptorsToVisitSet.contains( d );
       descriptorsToVisitSet.remove( d );
 
@@ -1190,185 +1191,10 @@ public class DisjointAnalysis {
     return true;
   }
 
-
-  /*
-  // return all allocation sites in the method (there is one allocation
-  // site per FlatNew node in a method)
-  protected HashSet<AllocSite> getAllocSiteSet(Descriptor d) {
-    if( !mapDescriptorToAllocSiteSet.containsKey(d) ) {
-      buildAllocSiteSet(d);
-    }
-
-    return mapDescriptorToAllocSiteSet.get(d);
-
-  }
-  */
-
-  /*
-  protected void buildAllocSiteSet(Descriptor d) {
-    HashSet<AllocSite> s = new HashSet<AllocSite>();
-
-    FlatMethod fm = state.getMethodFlat( d );
-
-    // visit every node in this FlatMethod's IR graph
-    // and make a set of the allocation sites from the
-    // FlatNew node's visited
-    HashSet<FlatNode> visited = new HashSet<FlatNode>();
-    HashSet<FlatNode> toVisit = new HashSet<FlatNode>();
-    toVisit.add( fm );
-
-    while( !toVisit.isEmpty() ) {
-      FlatNode n = toVisit.iterator().next();
-
-      if( n instanceof FlatNew ) {
-       s.add(getAllocSiteFromFlatNewPRIVATE( (FlatNew) n) );
-      }
-
-      toVisit.remove( n );
-      visited.add( n );
-
-      for( int i = 0; i < n.numNext(); ++i ) {
-       FlatNode child = n.getNext( i );
-       if( !visited.contains( child ) ) {
-         toVisit.add( child );
-       }
-      }
-    }
-
-    mapDescriptorToAllocSiteSet.put( d, s );
-  }
-  */
-  /*
-  protected HashSet<AllocSite> getFlaggedAllocSites(Descriptor dIn) {
-    
-    HashSet<AllocSite> out     = new HashSet<AllocSite>();
-    HashSet<Descriptor>     toVisit = new HashSet<Descriptor>();
-    HashSet<Descriptor>     visited = new HashSet<Descriptor>();
-
-    toVisit.add(dIn);
-
-    while( !toVisit.isEmpty() ) {
-      Descriptor d = toVisit.iterator().next();
-      toVisit.remove(d);
-      visited.add(d);
-
-      HashSet<AllocSite> asSet = getAllocSiteSet(d);
-      Iterator asItr = asSet.iterator();
-      while( asItr.hasNext() ) {
-       AllocSite as = (AllocSite) asItr.next();
-       if( as.getDisjointAnalysisId() != null ) {
-         out.add(as);
-       }
-      }
-
-      // enqueue callees of this method to be searched for
-      // allocation sites also
-      Set callees = callGraph.getCalleeSet(d);
-      if( callees != null ) {
-       Iterator methItr = callees.iterator();
-       while( methItr.hasNext() ) {
-         MethodDescriptor md = (MethodDescriptor) methItr.next();
-
-         if( !visited.contains(md) ) {
-           toVisit.add(md);
-         }
-       }
-      }
-    }
-    
-    return out;
-  }
-  */
-
-  /*
-  protected HashSet<AllocSite>
-  getFlaggedAllocSitesReachableFromTaskPRIVATE(TaskDescriptor td) {
-
-    HashSet<AllocSite> asSetTotal = new HashSet<AllocSite>();
-    HashSet<Descriptor>     toVisit    = new HashSet<Descriptor>();
-    HashSet<Descriptor>     visited    = new HashSet<Descriptor>();
-
-    toVisit.add(td);
-
-    // traverse this task and all methods reachable from this task
-    while( !toVisit.isEmpty() ) {
-      Descriptor d = toVisit.iterator().next();
-      toVisit.remove(d);
-      visited.add(d);
-
-      HashSet<AllocSite> asSet = getAllocSiteSet(d);
-      Iterator asItr = asSet.iterator();
-      while( asItr.hasNext() ) {
-       AllocSite as = (AllocSite) asItr.next();
-       TypeDescriptor typed = as.getType();
-       if( typed != null ) {
-         ClassDescriptor cd = typed.getClassDesc();
-         if( cd != null && cd.hasFlags() ) {
-           asSetTotal.add(as);
-         }
-       }
-      }
-
-      // enqueue callees of this method to be searched for
-      // allocation sites also
-      Set callees = callGraph.getCalleeSet(d);
-      if( callees != null ) {
-       Iterator methItr = callees.iterator();
-       while( methItr.hasNext() ) {
-         MethodDescriptor md = (MethodDescriptor) methItr.next();
-
-         if( !visited.contains(md) ) {
-           toVisit.add(md);
-         }
-       }
-      }
-    }
-
-
-    return asSetTotal;
-  }
-  */
-
-
-  /*
-  protected String computeAliasContextHistogram() {
-    
-    Hashtable<Integer, Integer> mapNumContexts2NumDesc = 
-      new Hashtable<Integer, Integer>();
-  
-    Iterator itr = mapDescriptorToAllDescriptors.entrySet().iterator();
-    while( itr.hasNext() ) {
-      Map.Entry me = (Map.Entry) itr.next();
-      HashSet<Descriptor> s = (HashSet<Descriptor>) me.getValue();
-      
-      Integer i = mapNumContexts2NumDesc.get( s.size() );
-      if( i == null ) {
-       i = new Integer( 0 );
-      }
-      mapNumContexts2NumDesc.put( s.size(), i + 1 );
-    }   
-
-    String s = "";
-    int total = 0;
-
-    itr = mapNumContexts2NumDesc.entrySet().iterator();
-    while( itr.hasNext() ) {
-      Map.Entry me = (Map.Entry) itr.next();
-      Integer c0 = (Integer) me.getKey();
-      Integer d0 = (Integer) me.getValue();
-      total += d0;
-      s += String.format( "%4d methods had %4d unique alias contexts.\n", d0, c0 );
-    }
-
-    s += String.format( "\n%4d total methods analayzed.\n", total );
-
-    return s;
-  }
-
   protected int numMethodsAnalyzed() {    
     return descriptorsToAnalyze.size();
   }
-  */
+  
 
   
   
index d03455ca07a3643aed182d8544b813b1c8a99910..4fed125ef9c0da1c92f31851edae8951323e0a54 100755 (executable)
@@ -18,17 +18,17 @@ NAME[$num]=jHTTPp2
 BDIR[$num]=Jhttpp2/BR
 num=$[$num+1]
 
-NAME[$num]=MapReduce
-BDIR[$num]=MapReduce/Tag
-num=$[$num+1]
+#NAME[$num]=MapReduce
+#BDIR[$num]=MapReduce/Tag
+#num=$[$num+1]
 
-NAME[$num]=MultiGame
-BDIR[$num]=MMG/Tag
-num=$[$num+1]
+#NAME[$num]=MultiGame
+#BDIR[$num]=MMG/Tag
+#num=$[$num+1]
 
-NAME[$num]=PERT
-BDIR[$num]=PERT/Tag
-num=$[$num+1]
+#NAME[$num]=PERT
+#BDIR[$num]=PERT/Tag
+#num=$[$num+1]
 
 NAME[$num]=FilterBank
 BDIR[$num]=Scheduling/FilterBank
@@ -54,17 +54,17 @@ NAME[$num]=KMeans-Bamboo
 BDIR[$num]=Scheduling/KMeans
 num=$[$num+1]
 
-NAME[$num]=FluidAnimate
-BDIR[$num]=Scheduling/PSFluidAnimate
-num=$[$num+1]
+#NAME[$num]=FluidAnimate
+#BDIR[$num]=Scheduling/PSFluidAnimate
+#num=$[$num+1]
 
 NAME[$num]=Spider
 BDIR[$num]=Spider/BR
 num=$[$num+1]
 
-NAME[$num]=TileSearch
-BDIR[$num]=TileSearch/Tag
-num=$[$num+1]
+#NAME[$num]=TileSearch
+#BDIR[$num]=TileSearch/Tag
+#num=$[$num+1]
 
 NAME[$num]=TicTacToe
 BDIR[$num]=TTTTag
index fcf911f0267a36a93645c36133aaad38643cdb88..1b7e685cccf2982f18708bcfaddd0295bb50aa34 100644 (file)
@@ -21,11 +21,10 @@ BUILDSCRIPT=~/research/Robust/src/buildscript
 BAMBOOFLAGS= -recover
 JAVAFLAGS= -mainclass test
 
-DEBUGMODE= -enable-assertions
-RELEASEMODE= -disjoint-release-mode
+DEBUGMODE= -enable-assertions -disjoint-write-dots final -disjoint-alias-file aliases.txt normal
+RELEASEMODE= -disjoint-release-mode -disjoint-alias-file aliases.txt tabbed
 
-#BSFLAGS= -justanalyze -disjoint -disjoint-k 1 -disjoint-write-dots final -disjoint-alias-file aliases.txt normal
-BSFLAGS= -justanalyze -disjoint -disjoint-k 1 -disjoint-write-dots final -disjoint-alias-file aliases.txt tabbed
+BSFLAGS= -justanalyze -disjoint -disjoint-k 1 
 
 all:
        echo 'pass another arg: <bamboo/bamboo-release/java/java-release>'
index 08cf218e379d221f057035298df08e229e73db35..da79ca6638691f8575738b135100ad25b77836d5 100644 (file)
@@ -17,10 +17,21 @@ SRC=KMeans.java \
 
 #SNAPFLAGS= -disjoint-debug-snap-method t3 5 20 true
 
-BSFLAGS= -justanalyze -disjoint -disjoint-k 1 -disjoint-write-dots all -disjoint-alias-file aliases.txt normal -enable-assertions -mainclass ${MAINCLASS}
+JAVAFLAGS= -mainclass ${MAINCLASS}
+
+DEBUGMODE= -enable-assertions -disjoint-write-dots final -disjoint-alias-file aliases.txt normal
+RELEASEMODE= -disjoint-release-mode -disjoint-alias-file aliases.txt normal
+
+BSFLAGS= -justanalyze -disjoint -disjoint-k 1 
+
+java:
+       $(BUILDSCRIPT) $(JAVAFLAGS)   $(DEBUGMODE)   $(BSFLAGS) $(DEBUGFLAGS) $(SNAPFLAGS) $(SRC)
+
+java-release:
+       $(BUILDSCRIPT) $(JAVAFLAGS)   $(RELEASEMODE) $(BSFLAGS) $(DEBUGFLAGS) $(SNAPFLAGS) $(SRC)
+
+
 
-all:
-       $(BUILDSCRIPT) $(BSFLAGS) $(DEBUGFLAGS) $(SNAPFLAGS) ${SRC}
 
 clean:
        rm -f  *.bin
index 460602a5efaa8512fe709db91fa0dbf7600720e2..8e0759e3f4231e7d8b5ccda2840431b910f92117 100644 (file)
@@ -49,7 +49,7 @@ final class Lateral {
                                System.out.println("Lateral constructor with zero num");
                        next_lateral = null;
                } else {
-                       next_lateral = new Lateral(num - 1, nbranches, nleaves);
+                       next_lateral = disjoint deeper new Lateral(num - 1, nbranches, nleaves);
                }
 
                // create the branch nodes
index 3663a6f64c51e4f5c4efbf47eb73835bdd156901..12d8897b1d2092d863cd04fc04f76fc6e04638d9 100644 (file)
@@ -192,12 +192,12 @@ final class Root {
                PER_INDEX_I = 0.002;
                MAX_THETA_I = 0.199;
 
-               D = new Demand(0.0,0.0);
-               last = new Demand(0.0,0.0);
+               D = disjoint D new Demand(0.0,0.0);
+               last = disjoint last new Demand(0.0,0.0);
 
                feeders = new Lateral[nfeeders];
                for (int i = 0; i < nfeeders; i++) {
-                       feeders[i] = new Lateral(nlaterals, nbranches, nleaves);
+                       feeders[i] = disjoint lateral new Lateral(nlaterals, nbranches, nleaves);
                }
        }
 
index bb8651d282bc8c29bbbae893c728887fe92cda41..c0f03f82a876f6cdcae14765230ee3e85f66e56a 100644 (file)
@@ -11,10 +11,20 @@ MAINCLASS=Power
 
 #SNAPFLAGS= -disjoint-debug-snap-method t3 5 20 true
 
-BSFLAGS= -justanalyze -disjoint -disjoint-k 1 -disjoint-write-dots all -disjoint-alias-file aliases.txt normal -enable-assertions -mainclass ${MAINCLASS}
+JAVAFLAGS= -mainclass ${MAINCLASS}
+
+DEBUGMODE= -enable-assertions -disjoint-write-dots final -disjoint-alias-file aliases.txt normal
+RELEASEMODE= -disjoint-release-mode -disjoint-alias-file aliases.txt normal
+
+BSFLAGS= -justanalyze -disjoint -disjoint-k 1 
+
+java:
+       $(BUILDSCRIPT) $(JAVAFLAGS)   $(DEBUGMODE)   $(BSFLAGS) $(DEBUGFLAGS) $(SNAPFLAGS) *.java
+
+java-release:
+       $(BUILDSCRIPT) $(JAVAFLAGS)   $(RELEASEMODE) $(BSFLAGS) $(DEBUGFLAGS) $(SNAPFLAGS) *.java
+
 
-all:
-       $(BUILDSCRIPT) $(BSFLAGS) $(DEBUGFLAGS) $(SNAPFLAGS) *.java
 
 clean:
        rm -f  *.bin
index 9652b6e6c924b5dc364a8aacf095030ba1892ef7..2f490f056e64ec7f916c9426bc75f895375897bf 100644 (file)
@@ -11,10 +11,20 @@ MAINCLASS=test
 
 #SNAPFLAGS= -disjoint-debug-snap-method t3 5 20 true
 
-BSFLAGS= -justanalyze -disjoint -disjoint-k 1 -disjoint-write-dots all -disjoint-alias-file aliases.txt normal -enable-assertions -mainclass ${MAINCLASS}
+JAVAFLAGS= -mainclass ${MAINCLASS}
+
+DEBUGMODE= -enable-assertions -disjoint-write-dots final -disjoint-alias-file aliases.txt normal
+RELEASEMODE= -disjoint-release-mode -disjoint-alias-file aliases.txt normal
+
+BSFLAGS= -justanalyze -disjoint -disjoint-k 1 
+
+java:
+       $(BUILDSCRIPT) $(JAVAFLAGS)   $(DEBUGMODE)   $(BSFLAGS) $(DEBUGFLAGS) $(SNAPFLAGS) *.java
+
+java-release:
+       $(BUILDSCRIPT) $(JAVAFLAGS)   $(RELEASEMODE) $(BSFLAGS) $(DEBUGFLAGS) $(SNAPFLAGS) *.java
+
 
-all:
-       $(BUILDSCRIPT) $(BSFLAGS) $(DEBUGFLAGS) $(SNAPFLAGS) *.java
 
 clean:
        rm -f  *.bin