From 7de7b76a4f101bf13629561090e9525ef2a9a285 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Mon, 28 Mar 2011 07:41:09 +0000 Subject: [PATCH] bug fix... --- Robust/src/Analysis/Pointer/Pointer.java | 40 +++++++++++++++++------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/Robust/src/Analysis/Pointer/Pointer.java b/Robust/src/Analysis/Pointer/Pointer.java index ed5e4f4e..4973c472 100644 --- a/Robust/src/Analysis/Pointer/Pointer.java +++ b/Robust/src/Analysis/Pointer/Pointer.java @@ -147,26 +147,44 @@ public class Pointer implements HeapAnalysis{ if (!init&&delta.isEmpty()) continue nextdelta; + int lasti=-1; //Compute delta at exit of each node for(int i=startindex; i=i;lasti--) { + FlatNode scurrNode=nodes.get(lasti); + if (isNEEDED(scurrNode)||isINACC(scurrNode)) { + break; + } + } + } + if (i==lasti) { + mustProcess.add(currNode); + graphMap.put(currNode, new Graph(graph)); + fallthru=false; + } + } + if (fallthru) { + if (i==0) { + //base graph works for us + graphMap.put(currNode, new Graph(graph)); + } else { + //just use previous graph + graphMap.put(currNode, graphMap.get(nodes.get(i-1))); + } } } } + nodeGraph=graphMap.get(currNode); delta=processNode(bblock, i, currNode, delta, nodeGraph); //System.out.println("Processing "+currNode+" and generating delta:"); -- 2.34.1