working support for disjointness on Java, still needs a little more functionality
authorjjenista <jjenista>
Mon, 2 Feb 2009 19:55:43 +0000 (19:55 +0000)
committerjjenista <jjenista>
Mon, 2 Feb 2009 19:55:43 +0000 (19:55 +0000)
Robust/src/Analysis/OwnershipAnalysis/OwnershipAnalysis.java
Robust/src/Analysis/OwnershipAnalysis/OwnershipGraph.java
Robust/src/Tests/mlp/syntaxTest/makefile

index a3b2c3be0bbcff815fc308ddeb8ec96094c89743..d79e9150afb319564733d4a54d4a3dd87d0f58f5 100644 (file)
@@ -306,7 +306,10 @@ public class OwnershipAnalysis {
        Iterator methItr = cd.getMethods();
        while( methItr.hasNext() ) {
          Descriptor d = (Descriptor) methItr.next();
-         scheduleAllCallees(d);
+
+         if( d.getSymbol().equals( "main" ) ) {
+           scheduleAllCallees(d);
+         }
        }
       }
       
index be55291826ea4dde36f53bca7e8f88088a216943..610ba4a6a48d69563befc87cf56ed24fd14a7c17 100644 (file)
@@ -80,12 +80,18 @@ public class OwnershipGraph {
                           ReachabilitySet alpha,
                           String description) {
 
+    boolean markForAnalysis = isFlagged || isParameter;
+
+    if( allocSite != null && allocSite.doForceAnalyze() ) {
+      markForAnalysis = true;
+    }
+
     if( id == null ) {
       id = OwnershipAnalysis.generateUniqueHeapRegionNodeID();
     }
 
     if( alpha == null ) {
-      if( isFlagged || isParameter || allocSite.doForceAnalyze() ) {
+      if( markForAnalysis ) {
        alpha = new ReachabilitySet(
          new TokenTuple(id,
                         !isSingleObject,
@@ -101,7 +107,7 @@ public class OwnershipGraph {
 
     HeapRegionNode hrn = new HeapRegionNode(id,
                                             isSingleObject,
-                                            isFlagged,
+                                            markForAnalysis,
                                            isParameter,
                                             isNewSummary,
                                             allocSite,
index 6cf21b138d8bb9e41b9e056414d6be5c6209edfc..dafc6056272313ff9fdcfe9a44ce02d8c51f0106 100644 (file)
@@ -3,7 +3,7 @@ PROGRAM=test
 SOURCE_FILES=$(PROGRAM).java
 
 BUILDSCRIPT=~/research/Robust/src/buildscript
-BSFLAGS= -ownership -ownallocdepth 1 -ownwritedots final -enable-assertions -flatirtasks #-recover -ownaliasfile aliases.txt
+BSFLAGS= -justanalyze -ownership -ownallocdepth 1 -ownwritedots final -enable-assertions -flatirtasks #-recover -ownaliasfile aliases.txt
 
 all: $(PROGRAM).bin