From 609408cfe2a696698a4a9f25d0a50cf6450d52de Mon Sep 17 00:00:00 2001 From: jjenista Date: Fri, 19 Mar 2010 22:25:44 +0000 Subject: [PATCH] making debugging easier --- .../Analysis/Disjoint/DisjointAnalysis.java | 2 +- Robust/src/Analysis/Disjoint/ReachGraph.java | 131 ++++++++++-------- .../Tests/disjoint/predicateTest3/makefile | 2 - 3 files changed, 71 insertions(+), 64 deletions(-) diff --git a/Robust/src/Analysis/Disjoint/DisjointAnalysis.java b/Robust/src/Analysis/Disjoint/DisjointAnalysis.java index 7b4c394a..e0a4e6e6 100644 --- a/Robust/src/Analysis/Disjoint/DisjointAnalysis.java +++ b/Robust/src/Analysis/Disjoint/DisjointAnalysis.java @@ -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." ); diff --git a/Robust/src/Analysis/Disjoint/ReachGraph.java b/Robust/src/Analysis/Disjoint/ReachGraph.java index 778c9387..aea243da 100644 --- a/Robust/src/Analysis/Disjoint/ReachGraph.java +++ b/Robust/src/Analysis/Disjoint/ReachGraph.java @@ -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(); + // 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 ) {} } } diff --git a/Robust/src/Tests/disjoint/predicateTest3/makefile b/Robust/src/Tests/disjoint/predicateTest3/makefile index 42058b05..fa33ee55 100644 --- a/Robust/src/Tests/disjoint/predicateTest3/makefile +++ b/Robust/src/Tests/disjoint/predicateTest3/makefile @@ -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 -- 2.34.1