bug fix: The result of the pointer analysis is broken when it tries to do something...
[IRC.git] / Robust / src / Analysis / Pointer / Pointer.java
index 5a648767050f2b0c3678e4cc79b8910747f62700..184cf6511cd3c9b93228fd1f51175512e4c70b70 100644 (file)
@@ -76,7 +76,7 @@ public class Pointer implements HeapAnalysis {
   public BasicBlock getBBlock(FlatMethod fm) {
     if (!blockMap.containsKey(fm)) {
       blockMap.put(fm, BasicBlock.getBBlock(fm));
-      Hashtable<FlatNode, Set<TempDescriptor>> livemap=Liveness.computeLiveTemps(fm);
+      Hashtable<FlatNode, Set<TempDescriptor>> livemap=Liveness.computeLiveTemps(fm,-1);
       for(BBlock bblock : blockMap.get(fm).getBlocks()) {
         FlatNode fn=bblock.nodes.get(0);
         if (fn==fm) {
@@ -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());
     }