making debugging easier
authorjjenista <jjenista>
Fri, 19 Mar 2010 22:25:44 +0000 (22:25 +0000)
committerjjenista <jjenista>
Fri, 19 Mar 2010 22:25:44 +0000 (22:25 +0000)
Robust/src/Analysis/Disjoint/DisjointAnalysis.java
Robust/src/Analysis/Disjoint/ReachGraph.java
Robust/src/Tests/disjoint/predicateTest3/makefile

index 7b4c394a0d76ce636a78f750fff4cee13fe5f1e8..e0a4e6e6ce2f561b07cdc44ce4c495183a1931fa 100644 (file)
@@ -1863,7 +1863,7 @@ getFlaggedAllocationSitesReachableFromTaskPRIVATE(TaskDescriptor td) {
                        true,  // write labels (variables)
                        true,  // selectively hide intermediate temp vars
                        true,  // prune unreachable heap regions
-                       true,  // hide subset reachability states
+                       false, // hide subset reachability states
                        true );// hide edge taints
       } catch( Exception e ) {
        System.out.println( "Error writing debug capture." );
index 778c9387ec8e14983ac3f3c5d24d419342278e1b..aea243daafe62530823018e75f5a46e687160210 100644 (file)
@@ -1905,11 +1905,11 @@ public class ReachGraph {
     if( writeDebugDOTs ) {    
       try {
         rg.writeGraph( "calleeview", 
-                       true,   // write labels (variables)                
-                       true,   // selectively hide intermediate temp vars 
-                       true,   // prune unreachable heap regions          
-                       true,   // hide subset reachability states         
-                       true ); // hide edge taints                        
+                       resolveMethodDebugDOTwriteLabels,    
+                       resolveMethodDebugDOTselectTemps,    
+                       resolveMethodDebugDOTpruneGarbage,   
+                       resolveMethodDebugDOThideSubsetReach,
+                       resolveMethodDebugDOThideEdgeTaints );
       } catch( IOException e ) {}
     }
 
@@ -1920,6 +1920,14 @@ public class ReachGraph {
     new Hashtable<String, Integer>();
 
 
+  // useful since many graphs writes in the method call debug code
+  private static boolean resolveMethodDebugDOTwriteLabels     = true;
+  private static boolean resolveMethodDebugDOTselectTemps     = true;
+  private static boolean resolveMethodDebugDOTpruneGarbage    = true;
+  private static boolean resolveMethodDebugDOThideSubsetReach = false;
+  private static boolean resolveMethodDebugDOThideEdgeTaints  = true;
+
+
 
   public void 
     resolveMethodCall( FlatCall     fc,        
@@ -1933,17 +1941,18 @@ public class ReachGraph {
     if( writeDebugDOTs ) {
       try {
         rgCallee.writeGraph( "callee", 
-                             true,   // write labels (variables)                  
-                             true,   // selectively hide intermediate temp vars   
-                             true,   // prune unreachable heap regions            
-                             true,   // hide subset reachability states           
-                             true ); // hide edge taints                        
-        writeGraph( "caller00In", 
-                    true,  // write labels (variables)                
-                    true,  // selectively hide intermediate temp vars 
-                    true,  // prune unreachable heap regions          
-                    true,  // hide subset reachability states         
-                    true,  // hide edge taints                        
+                       resolveMethodDebugDOTwriteLabels,    
+                       resolveMethodDebugDOTselectTemps,    
+                       resolveMethodDebugDOTpruneGarbage,   
+                       resolveMethodDebugDOThideSubsetReach,
+                       resolveMethodDebugDOThideEdgeTaints );
+
+        writeGraph( "caller00In",  
+                    resolveMethodDebugDOTwriteLabels,    
+                    resolveMethodDebugDOTselectTemps,    
+                    resolveMethodDebugDOTpruneGarbage,   
+                    resolveMethodDebugDOThideSubsetReach,
+                    resolveMethodDebugDOThideEdgeTaints,
                     callerNodeIDsCopiedToCallee );
       } catch( IOException e ) {}
     }
@@ -2165,11 +2174,11 @@ public class ReachGraph {
     if( writeDebugDOTs ) {
       try {
         writeGraph( "caller20BeforeWipe", 
-                    true,   // write labels (variables)                
-                    true,   // selectively hide intermediate temp vars 
-                    true,   // prune unreachable heap regions          
-                    true,   // hide subset reachability states         
-                    true ); // hide edge taints                        
+                    resolveMethodDebugDOTwriteLabels,    
+                    resolveMethodDebugDOTselectTemps,    
+                    resolveMethodDebugDOTpruneGarbage,   
+                    resolveMethodDebugDOThideSubsetReach,
+                    resolveMethodDebugDOThideEdgeTaints );
       } catch( IOException e ) {}
     }
 
@@ -2191,11 +2200,11 @@ public class ReachGraph {
     if( writeDebugDOTs ) {
       try {
         writeGraph( "caller30BeforeAddingNodes", 
-                    true,   // write labels (variables)                
-                    true,   // selectively hide intermediate temp vars 
-                    true,   // prune unreachable heap regions          
-                    true,   // hide subset reachability states         
-                    true ); // hide edge taints                        
+                    resolveMethodDebugDOTwriteLabels,    
+                    resolveMethodDebugDOTselectTemps,    
+                    resolveMethodDebugDOTpruneGarbage,   
+                    resolveMethodDebugDOThideSubsetReach,
+                    resolveMethodDebugDOThideEdgeTaints );
       } catch( IOException e ) {}
     }
 
@@ -2260,11 +2269,11 @@ public class ReachGraph {
     if( writeDebugDOTs ) {
       try {
         writeGraph( "caller31BeforeAddingEdges", 
-                    true,   // write labels (variables)                
-                    true,   // selectively hide intermediate temp vars 
-                    true,   // prune unreachable heap regions          
-                    true,   // hide subset reachability states         
-                    true ); // hide edge taints                        
+                    resolveMethodDebugDOTwriteLabels,    
+                    resolveMethodDebugDOTselectTemps,    
+                    resolveMethodDebugDOTpruneGarbage,   
+                    resolveMethodDebugDOThideSubsetReach,
+                    resolveMethodDebugDOThideEdgeTaints );
       } catch( IOException e ) {}
     }
 
@@ -2460,11 +2469,11 @@ public class ReachGraph {
     if( writeDebugDOTs ) {
       try {
         writeGraph( "caller35BeforeAssignReturnValue", 
-                    true,   // write labels (variables)                
-                    true,   // selectively hide intermediate temp vars 
-                    true,   // prune unreachable heap regions          
-                    true,   // hide subset reachability states         
-                    true ); // hide edge taints                        
+                    resolveMethodDebugDOTwriteLabels,    
+                    resolveMethodDebugDOTselectTemps,    
+                    resolveMethodDebugDOTpruneGarbage,   
+                    resolveMethodDebugDOThideSubsetReach,
+                    resolveMethodDebugDOThideEdgeTaints );
       } catch( IOException e ) {}
     }
 
@@ -2546,11 +2555,11 @@ public class ReachGraph {
     if( writeDebugDOTs ) {
       try {
         writeGraph( "caller38propagateReach", 
-                    true,   // write labels (variables)                
-                    true,   // selectively hide intermediate temp vars 
-                    true,   // prune unreachable heap regions          
-                    true,   // hide subset reachability states         
-                    true ); // hide edge taints                        
+                    resolveMethodDebugDOTwriteLabels,    
+                    resolveMethodDebugDOTselectTemps,    
+                    resolveMethodDebugDOTpruneGarbage,   
+                    resolveMethodDebugDOThideSubsetReach,
+                    resolveMethodDebugDOThideEdgeTaints );
       } catch( IOException e ) {}
     }
 
@@ -2576,11 +2585,11 @@ public class ReachGraph {
     if( writeDebugDOTs ) {
       try {
         writeGraph( "caller40BeforeShadowMerge", 
-                    true,   // write labels (variables)                
-                    true,   // selectively hide intermediate temp vars 
-                    true,   // prune unreachable heap regions          
-                    true,   // hide subset reachability states         
-                    true ); // hide edge taints                        
+                    resolveMethodDebugDOTwriteLabels,    
+                    resolveMethodDebugDOTselectTemps,    
+                    resolveMethodDebugDOTpruneGarbage,   
+                    resolveMethodDebugDOThideSubsetReach,
+                    resolveMethodDebugDOThideEdgeTaints );
       } catch( IOException e ) {}
     }
     
@@ -2677,11 +2686,11 @@ public class ReachGraph {
     if( writeDebugDOTs ) {
       try {
         writeGraph( "caller45BeforeUnshadow", 
-                    true,   // write labels (variables)                
-                    true,   // selectively hide intermediate temp vars 
-                    true,   // prune unreachable heap regions          
-                    true,   // hide subset reachability states         
-                    true ); // hide edge taints                        
+                    resolveMethodDebugDOTwriteLabels,    
+                    resolveMethodDebugDOTselectTemps,    
+                    resolveMethodDebugDOTpruneGarbage,   
+                    resolveMethodDebugDOThideSubsetReach,
+                    resolveMethodDebugDOThideEdgeTaints );
       } catch( IOException e ) {}
     }
     
@@ -2705,11 +2714,11 @@ public class ReachGraph {
     if( writeDebugDOTs ) {
       try {
         writeGraph( "caller50BeforeGlobalSweep", 
-                    true,   // write labels (variables)                
-                    true,   // selectively hide intermediate temp vars 
-                    true,   // prune unreachable heap regions          
-                    true,   // hide subset reachability states         
-                    true ); // hide edge taints                        
+                    resolveMethodDebugDOTwriteLabels,    
+                    resolveMethodDebugDOTselectTemps,    
+                    resolveMethodDebugDOTpruneGarbage,   
+                    resolveMethodDebugDOThideSubsetReach,
+                    resolveMethodDebugDOThideEdgeTaints );
       } catch( IOException e ) {}
     }
 
@@ -2724,11 +2733,11 @@ public class ReachGraph {
     if( writeDebugDOTs ) {
       try {
         writeGraph( "caller90AfterTransfer", 
-                    true,   // write labels (variables)                
-                    true,   // selectively hide intermediate temp vars 
-                    true,   // prune unreachable heap regions          
-                    true,   // hide subset reachability states         
-                    true ); // hide edge taints                        
+                    resolveMethodDebugDOTwriteLabels,    
+                    resolveMethodDebugDOTselectTemps,    
+                    resolveMethodDebugDOTpruneGarbage,   
+                    resolveMethodDebugDOThideSubsetReach,
+                    resolveMethodDebugDOThideEdgeTaints );
       } catch( IOException e ) {}
     }
   } 
index 42058b05c1455a1a5bef7ccb36ecaa8909d41d2e..fa33ee55714117e1d527bc224c9a44b630b6cf23 100644 (file)
@@ -6,12 +6,10 @@ BUILDSCRIPT=~/research/Robust/src/buildscript
 
 #DEBUGFLAGS= -disjoint-debug-callsite Bar addSomething 1
 #DEBUGFLAGS= -disjoint-debug-callsite Foo main 1
-
 #DEBUGFLAGS= -disjoint-debug-callsite main analysisEntryMethod 1
 DEBUGFLAGS= -disjoint-debug-callsite addSomething main 100
 #DEBUGFLAGS= -disjoint-debug-callsite addBar addSomething 1
 #DEBUGFLAGS= -disjoint-debug-callsite Bar addBar 1
-#DEBUGFLAGS=
 
 BSFLAGS= -mainclass Test -justanalyze -disjoint -disjoint-k 2 -disjoint-write-dots final -disjoint-write-ihms -disjoint-alias-file aliases.txt normal -enable-assertions