harpoon.Analysis.EventDriven
Class CloningVisitor

java.lang.Object
  extended by harpoon.IR.Quads.QuadVisitor
      extended by harpoon.Analysis.EventDriven.CloningVisitor

public class CloningVisitor
extends QuadVisitor

CloningVisitor

Version:
$Id: CloningVisitor.java,v 1.8 2004/02/08 03:19:30 cananian Exp $
Author:
Brian Demsky <bdemsky@mit.edu>

Constructor Summary
CloningVisitor(Set blockingcalls, Set cont_todo, Map cont_map, Map env_map, QuadLiveness liveness, Set async_todo, Map old2new, HCode hc, CachingCodeFactory ucf, AllCallers.MethodSet bm, HMethod mroot, Linker linker, ClassHierarchy ch, Set other, Set done_other, boolean methodstatus, TypeMap typemap, boolean optimistic, boolean recycle, Set cclasses)
           
 
Method Summary
 void addEdges(Quad q, int resumeexception, Set dontfollow)
           
 boolean follow()
           
 HCode getCode()
           
protected static Temp[] map(TempMap tm, Temp[] ta)
           
protected static Temp[][] map(TempMap tm, Temp[][] taa)
           
 boolean needsRepair()
           
 void reset(HMethod nhm, TempFactory otf, boolean isCont, CALL origCall)
           
 HMethod swapAdd(HMethod old)
          swapAdd takes in an HMethod and returns an HMethod that is to be called following the first method is called.
 HMethod swapTo(HMethod old)
          swapTo takes in an HMethod and returns an HMethod that is to be called following the first method is called.
 void visit(ANEW q)
           
 void visit(CALL q)
           
 void visit(NEW q)
           
 void visit(PHI q)
           
 void visit(Quad q)
          Visit a quad q.
 void visit(RETURN q)
           
 void visit(THROW q)
           
 
Methods inherited from class harpoon.IR.Quads.QuadVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CloningVisitor

public CloningVisitor(Set blockingcalls,
                      Set cont_todo,
                      Map cont_map,
                      Map env_map,
                      QuadLiveness liveness,
                      Set async_todo,
                      Map old2new,
                      HCode hc,
                      CachingCodeFactory ucf,
                      AllCallers.MethodSet bm,
                      HMethod mroot,
                      Linker linker,
                      ClassHierarchy ch,
                      Set other,
                      Set done_other,
                      boolean methodstatus,
                      TypeMap typemap,
                      boolean optimistic,
                      boolean recycle,
                      Set cclasses)
Method Detail

reset

public void reset(HMethod nhm,
                  TempFactory otf,
                  boolean isCont,
                  CALL origCall)

getCode

public HCode getCode()

follow

public boolean follow()

addEdges

public void addEdges(Quad q,
                     int resumeexception,
                     Set dontfollow)

visit

public void visit(RETURN q)
Overrides:
visit in class QuadVisitor

visit

public void visit(THROW q)
Overrides:
visit in class QuadVisitor

visit

public void visit(Quad q)
Description copied from class: QuadVisitor
Visit a quad q.

Specified by:
visit in class QuadVisitor

visit

public void visit(NEW q)
Overrides:
visit in class QuadVisitor

visit

public void visit(ANEW q)
Overrides:
visit in class QuadVisitor

visit

public void visit(PHI q)
Overrides:
visit in class QuadVisitor

visit

public void visit(CALL q)
Overrides:
visit in class QuadVisitor

needsRepair

public boolean needsRepair()

map

protected static final Temp[] map(TempMap tm,
                                  Temp[] ta)

map

protected static final Temp[][] map(TempMap tm,
                                    Temp[][] taa)

swapAdd

public HMethod swapAdd(HMethod old)
swapAdd takes in an HMethod and returns an HMethod that is to be called following the first method is called.


swapTo

public HMethod swapTo(HMethod old)
swapTo takes in an HMethod and returns an HMethod that is to be called following the first method is called.