public class ShrikeIndirectionData extends Object implements SSAIndirectionData<ShrikeIndirectionData.ShrikeLocalName>
SSAIndirectionData specialized for IRs originated from Shrike.| Modifier and Type | Class and Description |
|---|---|
static class |
ShrikeIndirectionData.ShrikeLocalName
In Shrike, the only "source" level entities which have names relevant to indirect pointer operations are bytecode locals.
|
SSAIndirectionData.Name| Constructor and Description |
|---|
ShrikeIndirectionData(int instructionArrayLength) |
| Modifier and Type | Method and Description |
|---|---|
int |
getDef(int instructionIndex,
ShrikeIndirectionData.ShrikeLocalName name)
For the instruction at the given index, and a source-level name, return the SSA value number which represents this
instruction's def of that name.
|
Collection<ShrikeIndirectionData.ShrikeLocalName> |
getNames()
Returns the set of "source" level names (e.g.
|
int |
getUse(int instructionIndex,
ShrikeIndirectionData.ShrikeLocalName name)
For the instruction at the given index, and a source-level name, return the SSA value number which represents this
instruction's use of that name.
|
void |
setDef(int instructionIndex,
ShrikeIndirectionData.ShrikeLocalName name,
int newDef)
Record the fact that a particular instruction defs a particular SSA value number (newDef), representing the value of a "source" entity
"name".
|
void |
setUse(int instructionIndex,
ShrikeIndirectionData.ShrikeLocalName name,
int newUse) |
String |
toString() |
public int getDef(int instructionIndex,
ShrikeIndirectionData.ShrikeLocalName name)
SSAIndirectionDatagetDef in interface SSAIndirectionData<ShrikeIndirectionData.ShrikeLocalName>public int getUse(int instructionIndex,
ShrikeIndirectionData.ShrikeLocalName name)
SSAIndirectionDatagetUse in interface SSAIndirectionData<ShrikeIndirectionData.ShrikeLocalName>public void setDef(int instructionIndex,
ShrikeIndirectionData.ShrikeLocalName name,
int newDef)
SSAIndirectionDatasetDef in interface SSAIndirectionData<ShrikeIndirectionData.ShrikeLocalName>SSAIndirectionData.getDef(int, T)public void setUse(int instructionIndex,
ShrikeIndirectionData.ShrikeLocalName name,
int newUse)
setUse in interface SSAIndirectionData<ShrikeIndirectionData.ShrikeLocalName>SSAIndirectionData.getUse(int, T)public Collection<ShrikeIndirectionData.ShrikeLocalName> getNames()
SSAIndirectionDatagetNames in interface SSAIndirectionData<ShrikeIndirectionData.ShrikeLocalName>Copyright © 2015. All rights reserved.