X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Robust%2Fsrc%2FIR%2FFlat%2FFlatMethod.java;h=4955f28ae5b99ef8556bb28bcc12bb27c5131d83;hb=cdcf09c40af1419fa42932aae249cb79b69b5daf;hp=9e6cf652dfc7d998169d5c6e272a39531d692ba3;hpb=7fb198fbffac163b51a482b191267de1d5ee0450;p=IRC.git diff --git a/Robust/src/IR/Flat/FlatMethod.java b/Robust/src/IR/Flat/FlatMethod.java deleted file mode 100644 index 9e6cf652..00000000 --- a/Robust/src/IR/Flat/FlatMethod.java +++ /dev/null @@ -1,138 +0,0 @@ -package IR.Flat; -import IR.MethodDescriptor; -import IR.TaskDescriptor; -import java.util.*; - -public class FlatMethod extends FlatNode { - FlatNode method_entry; - MethodDescriptor method; - TaskDescriptor task; - Vector parameterTemps; - - FlatMethod(MethodDescriptor md, FlatNode entry) { - method=md; - task=null; - method_entry=entry; - parameterTemps=new Vector(); - } - - FlatMethod(TaskDescriptor td, FlatNode entry) { - task=td; - method=null; - method_entry=entry; - parameterTemps=new Vector(); - } - - public String toString() { - return method.toString(); - } - - public MethodDescriptor getMethod() { - return method; - } - - public void addParameterTemp(TempDescriptor t) { - parameterTemps.add(t); - } - - public int numParameters() { - return parameterTemps.size(); - } - - public TempDescriptor getParameter(int i) { - return (TempDescriptor) parameterTemps.get(i); - } - - public FlatNode methodEntryNode() { - return method_entry; - } - - - public Set getNodeSet() { - HashSet tovisit=new HashSet(); - HashSet visited=new HashSet(); - tovisit.add(method_entry); - while(!tovisit.isEmpty()) { - FlatNode fn=(FlatNode)tovisit.iterator().next(); - tovisit.remove(fn); - visited.add(fn); - for(int i=0;i0) { - //1) Edge >1 of node - nodetolabel.put(nn,new Integer(labelindex++)); - } - if (!visited.contains(nn)&&!tovisit.contains(nn)) { - tovisit.add(nn); - } else { - //2) Join point - nodetolabel.put(nn,new Integer(labelindex++)); - } - } - } - - //Do the actual printing - tovisit=new HashSet(); - visited=new HashSet(); - tovisit.add(method_entry); - while(current_node!=null||!tovisit.isEmpty()) { - if (current_node==null) { - current_node=(FlatNode)tovisit.iterator().next(); - tovisit.remove(current_node); - } - visited.add(current_node); - if (nodetolabel.containsKey(current_node)) - st+="L"+nodetolabel.get(current_node)+":\n"; - if (current_node.numNext()==0) { - st+=" "+current_node.toString()+"\n"; - current_node=null; - } else if(current_node.numNext()==1) { - st+=" "+current_node.toString()+"\n"; - FlatNode nextnode=current_node.getNext(0); - if (visited.contains(nextnode)) { - st+="goto L"+nodetolabel.get(nextnode)+"\n"; - current_node=null; - } else - current_node=nextnode; - } else if (current_node.numNext()==2) { - /* Branch */ - st+=" "+((FlatCondBranch)current_node).toString("L"+nodetolabel.get(current_node.getNext(1)))+"\n"; - if (!visited.contains(current_node.getNext(1))) - tovisit.add(current_node.getNext(1)); - if (visited.contains(current_node.getNext(0))) { - st+="goto L"+nodetolabel.get(current_node.getNext(0))+"\n"; - current_node=null; - } else - current_node=current_node.getNext(0); - } else throw new Error(); - } - return st+"}\n"; - } - - public TempDescriptor [] writesTemps() { - return (TempDescriptor[]) parameterTemps.toArray(new TempDescriptor[ parameterTemps.size()]); - } -}