From: yeom <yeom>
Date: Wed, 2 May 2012 00:32:02 +0000 (+0000)
Subject: bug fix: The result of the pointer analysis is broken when it tries to do something... 
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2c9fc049afee82726ae47ec7ea2630cfe1623f21;p=IRC.git

bug fix: The result of the pointer analysis is broken when it tries to do something for a flat literal node. Since the modeling of a flat literal node is only required for the additional runtime check which verifies the allocation site of objects pointed to(+ it has not yet fully implemented), no problem to turn it off. Turn back to the same way of the OOPSLA DOJ version.
---

diff --git a/Robust/src/Analysis/Disjoint/PointerMethod.java b/Robust/src/Analysis/Disjoint/PointerMethod.java
index aaab9a87..5ab2314c 100644
--- a/Robust/src/Analysis/Disjoint/PointerMethod.java
+++ b/Robust/src/Analysis/Disjoint/PointerMethod.java
@@ -92,7 +92,6 @@ public class PointerMethod {
     case FKind.FlatElementNode:
     case FKind.FlatSetElementNode:
     case FKind.FlatNew:
-    case FKind.FlatLiteralNode:
     case FKind.FlatCall:
     case FKind.FlatReturnNode:
     case FKind.FlatBackEdge:
diff --git a/Robust/src/Analysis/Pointer/Pointer.java b/Robust/src/Analysis/Pointer/Pointer.java
index 8b0ce00b..184cf651 100644
--- a/Robust/src/Analysis/Pointer/Pointer.java
+++ b/Robust/src/Analysis/Pointer/Pointer.java
@@ -468,7 +468,11 @@ nextdelta:
 
     case FKind.FlatCall:
       return processFlatCall(bblock, index, (FlatCall) node, delta, newgraph);
-
+    
+     /* yonghun - 
+      * Pointer Analysis does not care about a flat literal node, just ignores it.
+      * Right now(2011/05/01) we do not attempt to model a flat literal node 
+      * for checking runtime pointers. 
     case FKind.FlatLiteralNode:
       // jjenista - the heap analysis abstraction---when used to verify points-to
       // analysis results against runtime pointers---will eventually need this to
@@ -476,7 +480,8 @@ nextdelta:
       // allocated string.  For now it will pass through like Pointer used to, but
       // the checks versus runtime pointers will fail for string literals.
       return delta;
-
+     */
+      
     default:
       throw new Error("Unrecognized node:"+node + " of kind " + node.kind());
     }