|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.ClassFile.HCode<Quad>
harpoon.IR.Quads.Code
harpoon.IR.Quads.QuadSSA
public class QuadSSA
Quads.QuadSSA
is a code view in SSA form.
Quad form exposes the details of
the java classfile bytecodes in a pseudo-quadruple format. Implementation
details of the stack-based JVM are hidden in favor of a flat consistent
temporary-variable based approach. The generated quadruples adhere
to an SSA form; that is, every variable has exactly one definition,
and PHI
functions are used where
control flow merges.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class harpoon.ClassFile.HCode |
---|
HCode.PrintCallback<HCE extends HCodeElement> |
Nested classes/interfaces inherited from interface harpoon.Util.Collections.Graph |
---|
Graph.Edge<N extends Graph.Node<N,E>,E extends Graph.Edge<N,E>>, Graph.Node<N extends Graph.Node<N,E>,E extends Graph.Edge<N,E>> |
Field Summary | |
---|---|
static String |
codename
The name of this code view. |
Fields inherited from class harpoon.IR.Quads.Code |
---|
ai, parent, qf, quads |
Constructor Summary | |
---|---|
protected |
QuadSSA(HMethod parent,
Quad quads)
Create a new code object given a quadruple representation of the method instructions. |
|
QuadSSA(QuadSSI code)
Creates a Code object from a bytecode object. |
Method Summary | |
---|---|
HCodeAndMaps<Quad> |
clone(HMethod newMethod)
Clone this code representation. |
static HCodeFactory |
codeFactory()
Return a code factory for QuadSSA, using the default code factory for QuadSSI. |
static HCodeFactory |
codeFactory(HCodeFactory hcf)
Return a code factory for QuadSSA , given a code
factory for QuadNoSSA . |
String |
getName()
Return the name of this code view. |
Methods inherited from class harpoon.IR.Quads.Code |
---|
cloneHelper, cloneHelper, elementArrayFactory, getAllocationInformation, getDerivation, getElements, getElementsI, getLeafElements, getMethod, getRootElement, newQF, nodes, notifyReplace, print, selectAllocations, selectCALLs, selectQuads, setAllocationInformation |
Methods inherited from class harpoon.ClassFile.HCode |
---|
clone, elementIndexer, getElementsL, print, toString |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String codename
Constructor Detail |
---|
public QuadSSA(QuadSSI code)
Code
object from a bytecode object.
protected QuadSSA(HMethod parent, Quad quads)
Method Detail |
---|
public HCodeAndMaps<Quad> clone(HMethod newMethod)
clone
in class Code
public String getName()
getName
in class Code
"quad-ssa"
.public static HCodeFactory codeFactory(HCodeFactory hcf)
QuadSSA
, given a code
factory for QuadNoSSA
. Given a code factory for
Bytecode
or QuadWithTry
, chain
through QuadNoSSA.codeFactory()
.
public static HCodeFactory codeFactory()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |