harpoon.IR.Assem
Class InstrCALL
java.lang.Object
harpoon.IR.Assem.Instr
harpoon.IR.Assem.InstrCALL
- All Implemented Interfaces:
- HCodeElement, CFGraphable<Instr,InstrEdge>, UseDefable, Graph.Node<Instr,InstrEdge>
public class InstrCALL
- extends Instr
InstrCALL
- Version:
- $Id: InstrCALL.java,v 1.3 2003/06/10 15:07:13 cananian Exp $
- Author:
- Felix S. Klock II <pnkfelix@mit.edu>
| Methods inherited from class harpoon.IR.Assem.Instr |
cloneMutateAssem, def, defC, edgeC, edges, getAssem, getEntry, getExit, getFactory, getGroups, getID, getInstrFor, getLineNumber, getNext, getPrev, getSourceFile, getTargets, hashCode, hasModifiableTargets, hasMultiplePredecessors, insertAt, insertInstrsAt, isDirective, isDummy, isJump, isLabel, isMove, isPred, isSucc, layout, map, map, map, pred, predC, remove, rename, rename, replace, replaceInstrList, setGroup, succ, succC, toString, use, useC |
InstrCALL
public InstrCALL(InstrFactory inf,
HCodeElement source,
String assem,
Temp[] dst,
Temp[] src,
boolean canFallThrough,
List<Label> targets)
- Creates a
InstrCALL.
accept
public void accept(InstrVisitor v)
- Accept a visitor
- Overrides:
accept in class Instr
rename
public Instr rename(InstrFactory inf,
TempMap defMap,
TempMap useMap)
- Description copied from class:
Instr
- Create a new
Instr identical to the receiver, but
with all Temps renamed according to the given
mappings. The new Instr will have no edges, and
will come from the specified InstrFactory.
FSK: I don't think this "no edges" part of the specification
holds anymore (it was written before we revised the
control-flow representation in the Instrs...
- Overrides:
rename in class Instr
cloneMutateAssem
public Instr cloneMutateAssem(InstrFactory inf,
String newAssem)
- Description copied from class:
Instr
- Clones this, mutating the assembly string.
requires: newAssem != null
effects: Returns a new Instr object with the same
compiler-visible high level properties as
this (use/def, isMove, etc), but instead of
having the assembly-string of this, it has
newAssem as its assembly string. The
generated instr will not have a a place in the
instruction layout; it is the responsiblity of the caller
to subsequently call Instr.replace to swap
this and the returned Instr.
- Overrides:
cloneMutateAssem in class Instr