1 pnkfelix 1.1.2.1 // InstrCALL.java, created Wed Jan 26 10:56:44 2000 by pnkfelix
 2 cananian 1.1.2.4 // 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.IR.Assem;
 5 pnkfelix 1.1.2.1 
 6 pnkfelix 1.1.2.1 import harpoon.ClassFile.HCodeElement;
 7 cananian 1.3     import harpoon.Temp.Label;
 8 pnkfelix 1.1.2.1 import harpoon.Temp.Temp;
 9 pnkfelix 1.1.2.3 import harpoon.Temp.TempMap;
10 pnkfelix 1.1.2.1 import java.util.List;
11 pnkfelix 1.1.2.1 
12 pnkfelix 1.1.2.1 /**
13 pnkfelix 1.1.2.1  * <code>InstrCALL</code>
14 pnkfelix 1.1.2.1  * 
15 cananian 1.1.2.4  * @author  Felix S. Klock II <pnkfelix@mit.edu>
16 cananian 1.3      * @version $Id: InstrCALL.java,v 1.3 2003/06/10 15:07:13 cananian Exp $
17 pnkfelix 1.1.2.1  */
18 pnkfelix 1.1.2.1 public class InstrCALL extends Instr {
19 pnkfelix 1.1.2.1     
20 pnkfelix 1.1.2.1     /** Creates a <code>InstrCALL</code>. */
21 pnkfelix 1.1.2.1     public InstrCALL( InstrFactory inf, HCodeElement source,
22 pnkfelix 1.1.2.1                       String assem, Temp[] dst, Temp[] src,
23 cananian 1.3                           boolean canFallThrough, List<Label> targets) {
24 pnkfelix 1.1.2.1         super(inf, source, assem, dst, src, canFallThrough, targets);
25 pnkfelix 1.1.2.1     }
26 pnkfelix 1.1.2.2 
27 pnkfelix 1.1.2.2     /** Accept a visitor */
28 pnkfelix 1.1.2.2     public void accept(InstrVisitor v) { v.visit(this); }
29 pnkfelix 1.1.2.3 
30 pnkfelix 1.1.2.3     public Instr rename(InstrFactory inf, TempMap defMap, TempMap useMap) {
31 pnkfelix 1.1.2.3         // should clone label or something.
32 pnkfelix 1.1.2.3         return new InstrCALL(getFactory(), this, getAssem(), 
33 pnkfelix 1.1.2.3                              map(defMap,def()), map(useMap, use()),
34 pnkfelix 1.1.2.3                              this.canFallThrough, getTargets());
35 pnkfelix 1.1.2.3     }
36 pnkfelix 1.1.2.3     public Instr cloneMutateAssem(InstrFactory inf, String newAssem) {
37 pnkfelix 1.1.2.3         return new InstrCALL(inf, this, newAssem, def(), use(),
38 pnkfelix 1.1.2.3                              canFallThrough, getTargets());
39 pnkfelix 1.1.2.3     }
40 pnkfelix 1.1.2.1     
41 cananian 1.2     }