From: bdemsky Date: Fri, 28 Jan 2011 08:13:04 +0000 (+0000) Subject: more changes... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=69b1856c08b2e5a1a1fd0e401eedfb7599396619;p=IRC.git more changes... --- diff --git a/Robust/src/Analysis/Pointer/Pointer.java b/Robust/src/Analysis/Pointer/Pointer.java index a1269846..e1abdda6 100644 --- a/Robust/src/Analysis/Pointer/Pointer.java +++ b/Robust/src/Analysis/Pointer/Pointer.java @@ -13,6 +13,7 @@ public class Pointer { TypeUtil typeUtil; AllocFactory allocFactory; LinkedList toprocess; + TempDescriptor returntmp; public Pointer(State state, TypeUtil typeUtil) { this.state=state; @@ -22,6 +23,8 @@ public class Pointer { this.typeUtil=typeUtil; this.allocFactory=new AllocFactory(state, typeUtil); this.toprocess=new LinkedList(); + ClassDescriptor stringcd=typeUtil.getClass(TypeUtil.ObjectClass); + this.returntmp=new TempDescriptor("RETURNVAL", stringcd); } public BasicBlock getBBlock(FlatMethod fm) { @@ -45,7 +48,7 @@ public class Pointer { return delta; } - void doAnalysis() { + public void doAnalysis() { toprocess.add(buildInitialContext()); while(!toprocess.isEmpty()) { @@ -67,11 +70,11 @@ public class Pointer { nodeGraph=graphMap.get(currNode); delta=processNode(currNode, delta, nodeGraph); } - generateFinalDelta(delta, nodeGraph); + generateFinalDelta(bblock, delta, nodeGraph); } } - void generateFinalDelta(Delta delta, Graph graph) { + void generateFinalDelta(BBlock bblock, Delta delta, Graph graph) { Delta newDelta=new Delta(null, false); if (delta.getInit()) { //First compute the set of temps @@ -145,8 +148,7 @@ public class Pointer { /* Now we need to propagate newdelta */ if (!newDelta.heapedgeadd.isEmpty()||!newDelta.heapedgeremove.isEmpty()||!newDelta.varedgeadd.isEmpty()) { /* We have a delta to propagate */ - BBlock curr=delta.getBlock(); - Vector blockvector=curr.next(); + Vector blockvector=bblock.next(); for(int i=0;i