harpoon.IR.Assem
Class InstrDIRECTIVE
java.lang.Object
harpoon.IR.Assem.Instr
harpoon.IR.Assem.InstrDIRECTIVE
- All Implemented Interfaces:
- HCodeElement, CFGraphable<Instr,InstrEdge>, UseDefable, Graph.Node<Instr,InstrEdge>
public class InstrDIRECTIVE
- extends Instr
InstrDIRECTIVE is used to represents assembler
directives.
- Version:
- $Id: InstrDIRECTIVE.java,v 1.2 2002/02/25 21:04:11 cananian Exp $
- Author:
- Andrew Berkheimer <andyb@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, isDummy, isJump, isLabel, isMove, isPred, isSucc, layout, map, map, map, pred, predC, remove, rename, rename, replace, replaceInstrList, setGroup, succ, succC, toString, use, useC |
InstrDIRECTIVE
public InstrDIRECTIVE(InstrFactory inf,
HCodeElement src,
String a)
makeNoFall
public static InstrDIRECTIVE makeNoFall(InstrFactory inf,
HCodeElement src,
String a)
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
accept
public void accept(InstrVisitor v)
- Description copied from class:
Instr
- Accept a visitor.
- Overrides:
accept in class Instr
isDirective
public boolean isDirective()
- Description copied from class:
Instr
- Returns true if this is a directive instruction that is meant
to represent data stored in the code segment, not actual
executable code.
- Overrides:
isDirective in class Instr