1 pnkfelix 1.1.2.1 // InstrMOVEproxy.java, created Tue Aug 22 15:30:46 2000 by pnkfelix
 2 cananian 1.1.2.5 // Copyright (C) 2000 Felix S. Klock II <pnkfelix@mit.edu>
 3 pnkfelix 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 pnkfelix 1.1.2.1 package harpoon.Analysis.Instr;
 5 pnkfelix 1.1.2.1 
 6 pnkfelix 1.1.2.2 import harpoon.IR.Assem.InstrFactory;
 7 pnkfelix 1.1.2.1 import harpoon.IR.Assem.Instr;
 8 pnkfelix 1.1.2.1 import harpoon.Temp.Temp;
 9 pnkfelix 1.1.2.2 import harpoon.Temp.TempMap;
10 pnkfelix 1.1.2.1 
11 pnkfelix 1.1.2.1 import java.util.Arrays;
12 pnkfelix 1.1.2.1 import java.util.List;
13 pnkfelix 1.1.2.1 /**
14 pnkfelix 1.1.2.1  * <code>InstrMOVEproxy</code>
15 pnkfelix 1.1.2.1  * 
16 cananian 1.1.2.5  * @author  Felix S. Klock II <pnkfelix@mit.edu>
17 cananian 1.2      * @version $Id: InstrMOVEproxy.java,v 1.2 2002/02/25 20:57:30 cananian Exp $
18 pnkfelix 1.1.2.1  */
19 pnkfelix 1.1.2.4 public class InstrMOVEproxy extends Instr {
20 pnkfelix 1.1.2.1     
21 pnkfelix 1.1.2.1     /** Creates a <code>InstrMOVEproxy</code>. */
22 pnkfelix 1.1.2.1     public InstrMOVEproxy(Instr src) {
23 pnkfelix 1.1.2.1         super(src.getFactory(), src, 
24 pnkfelix 1.1.2.3               "", 
25 pnkfelix 1.1.2.1               // " @proxy "+src.defC()+" <- "+src.useC(),
26 pnkfelix 1.1.2.3               // " @proxy "+src.getAssem(),
27 pnkfelix 1.1.2.1               (Temp[])src.def().clone(), 
28 pnkfelix 1.1.2.1               (Temp[])src.use().clone());
29 pnkfelix 1.1.2.2     }
30 pnkfelix 1.1.2.2     public Instr rename(InstrFactory inf, TempMap defMap, TempMap useMap) {
31 pnkfelix 1.1.2.2         return new InstrMOVEproxy
32 pnkfelix 1.1.2.2             (new Instr(inf, this, getAssem(),
33 pnkfelix 1.1.2.2                        map(defMap,def()), map(useMap,use())));
34 pnkfelix 1.1.2.1     }
35 pnkfelix 1.1.2.1     
36 cananian 1.2     }