| Interface | Description |
|---|---|
| IR.SSA2LocalMap |
A Map that gives the names of the local variables corresponding to SSA value numbers at
particular IR instruction indices, if such information is available from source code mapping.
|
| IRFactory<T extends IMethod> |
This is intended as an internal interface; clients probably shouldn't be using this directly.
|
| IRView | |
| ISSABasicBlock |
Common interface to all SSA BasicBlocks
|
| IVisitorWithAddresses | |
| SSAIndirectionData<T extends SSAIndirectionData.Name> |
A mapping that tells, for a given instruction s, what "names" does s def and use
indirectly.
|
| SSAIndirectionData.Name |
A Name is a mock interface introduced just for strong typing.
|
| SSAInstruction.IVisitor |
This interface is used by Instruction.visit to dispatch based on the instruction type.
|
| SSAInstructionFactory |
An instruction factory for SSA.
|
| SSAOptions.DefaultValues |
While SSA form makes the not-unreasonable assumption that values must be defined before they
are used, many languages permit using undefined variables and simply give them some default
value.
|
| SSAPiNodePolicy |
The
SSABuilder consults this as an oracle to decide how to insert SSAPiInstructions |
| Value |
Representation of a particular value which appears in an SSA IR.
|
| Class | Description |
|---|---|
| AllIntegerDueToBranchePiPolicy |
A policy, that adds pi nodes for all variables, that are used in a branch instruction.
|
| AuxiliaryCache |
A cache for auxiliary information based on an SSA representation
|
| CompoundPiPolicy |
A Combination of 2
SSAPiNodePolicys. |
| ConstantValue |
The value of a constant which appears in an SSA IR.
|
| DefaultIRFactory |
Default implementation of
IRFactory. |
| DefUse |
An object which represent Def-Use information for an SSA
IR |
| InstanceOfPiPolicy |
A pi node policy with the following rule:
|
| IR |
An SSA IR.
|
| NullTestPiPolicy |
A pi node policy with the following rule:
|
| PhiValue |
A value generated by a phi instruction.
|
| ReflectiveMemberAccess |
TODO: document me.
|
| ShrikeIndirectionData |
An implementation of
SSAIndirectionData specialized for IRs originated from Shrike. |
| ShrikeIndirectionData.ShrikeLocalName |
In Shrike, the only "source" level entities which have names relevant to indirect pointer
operations are bytecode locals.
|
| SSAAbstractBinaryInstruction | |
| SSAAbstractInvokeInstruction |
A Call instruction.
|
| SSAAbstractThrowInstruction |
An instruction which unconditionally throws an exception
|
| SSAAbstractUnaryInstruction | |
| SSAAddressOfInstruction |
An
SSAAddressOfInstruction represents storing the address of some "source" level entity
(@see SSAIndirectionData.Name) into an SSA value number. |
| SSAArrayLengthInstruction |
SSA instruction representing v_x := arraylength v_y
|
| SSAArrayLoadInstruction |
SSA instruction representing an array load.
|
| SSAArrayReferenceInstruction |
Abstract base class for instructions that load or store from array contents.
|
| SSAArrayStoreInstruction |
SSA instruction representing an array store.
|
| SSABinaryOpInstruction | |
| SSABuilder |
This class constructs an SSA
IR from a backing ShrikeBT instruction stream. |
| SSACache |
A mapping from IMethod -> SSAOptions -> SoftReference -> Something
|
| SSACFG |
A control-flow graph for ssa form.
|
| SSACheckCastInstruction |
A checkcast (dynamic type test) instruction.
|
| SSAComparisonInstruction |
SSA Instruction for comparisons between floats, longs and doubles
|
| SSAConditionalBranchInstruction |
A conditional branch instruction, which tests two values according to some
IConditionalBranchInstruction.IOperator. |
| SSAConversionInstruction |
An instruction which converts a value of one primitive type into another primitive type.
|
| SSAFieldAccessInstruction |
Abstract base class for
SSAGetInstruction and SSAPutInstruction. |
| SSAGetCaughtExceptionInstruction |
A "catch" instruction, inserted at the head of a catch block, which assigns a pending exception
object to a local variable.
|
| SSAGetInstruction |
SSA instruction that reads a field (i.e.
|
| SSAGotoInstruction |
Unconditional branch instruction for SSA form.
|
| SSAInstanceofInstruction |
A dynamic type test (instanceof) instruction.
|
| SSAInstruction |
An instruction in SSA form.
|
| SSAInstruction.Visitor |
A base visitor implementation that does nothing.
|
| SSAInvokeDynamicInstruction |
Used for representing the JVML invokedynamic instruction.
|
| SSAInvokeInstruction | |
| SSALoadIndirectInstruction |
A load from a pointer.
|
| SSALoadMetadataInstruction |
An instruction that represents a reflective or meta-programming operation, like loadClass in Java
|
| SSAMonitorInstruction |
An instruction representing a monitorenter or monitorexit operation.
|
| SSANewInstruction |
An allocation instruction ("new") for SSA form.
|
| SSAOptions |
Options that govern SSA construction
|
| SSAPhiInstruction |
A phi instruction in SSA form.
|
| SSAPiInstruction |
A Pi instruction is a dummy assignment inserted at the tail of a basic block, in order to get a
new variable name to associate with some flow-insensitive dataflow fact.
|
| SSAPutInstruction |
A putfield or putstatic instruction
|
| SSAReturnInstruction |
A return instruction.
|
| SSAStoreIndirectInstruction |
A store from a pointer.
|
| SSASwitchInstruction |
SSA instruction representing a switch statement.
|
| SSAThrowInstruction |
An instruction which unconditionally throws an exception
|
| SSAUnaryOpInstruction |
An SSA instruction for some unary operator.
|
| SymbolTable |
A symbol table which associates information with each variable (value number) in an SSA IR.
|