|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--harpoon.ClassFile.HCode | +--harpoon.IR.Quads.Code | +--harpoon.IR.Quads.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 inherited from class harpoon.ClassFile.HCode |
HCode.PrintCallback |
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 |
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, print, setAllocationInformation |
Methods inherited from class harpoon.ClassFile.HCode |
clone, elementIndexer, getElementsE, 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 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 |