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 Temp
s 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