|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectharpoon.IR.Assem.Instr
harpoon.IR.Assem.InstrMEM
public class InstrMEM
InstrMEM is used to represent memory operations in
assembly-level instruction representations.
| Field Summary |
|---|
| Fields inherited from class harpoon.IR.Assem.Instr |
|---|
arrayFactory, canFallThrough, next, prev |
| Constructor Summary | |
|---|---|
InstrMEM(InstrFactory inf,
HCodeElement codeSrc,
String assem,
Temp[] dst,
Temp[] tempSrc)
Creates a InstrMEM with default values for
canFallThrough and targets. |
|
InstrMEM(InstrFactory inf,
HCodeElement codeSrc,
String assem,
Temp[] dst,
Temp[] tempSrc,
boolean canFallThrough,
List<Label> targets)
Creates a InstrMEM. |
|
| Method Summary | |
|---|---|
void |
accept(InstrVisitor v)
Accept a visitor |
Instr |
cloneMutateAssem(InstrFactory inf,
String newAssem)
Clones this, mutating the assembly string. |
Instr |
rename(InstrFactory inf,
TempMap defMap,
TempMap useMap)
Create a new Instr identical to the receiver, but
with all Temps renamed according to the given
mappings. |
| 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 |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public InstrMEM(InstrFactory inf,
HCodeElement codeSrc,
String assem,
Temp[] dst,
Temp[] tempSrc,
boolean canFallThrough,
List<Label> targets)
InstrMEM.
public InstrMEM(InstrFactory inf,
HCodeElement codeSrc,
String assem,
Temp[] dst,
Temp[] tempSrc)
InstrMEM with default values for
canFallThrough and targets.
| Method Detail |
|---|
public void accept(InstrVisitor v)
accept in class Instr
public Instr rename(InstrFactory inf,
TempMap defMap,
TempMap useMap)
InstrInstr 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...
rename in class Instr
public Instr cloneMutateAssem(InstrFactory inf,
String newAssem)
Instrthis (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.
cloneMutateAssem in class Instr
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||