EDU.purdue.cs.bloat.tree |
The classes necessary to create and represent a Java method as an
expression tree. The nodes of the tree model various operations
(arithmetic operations, method calls, exceptions being thrown, etc.)
performed by a method. There are also classes that let you visit and
operate on the tree.
|
Java Source File Name | Type | Comment |
AddressStoreStmt.java | Class | Associated with an AddressStoreStmt is a Subroutine whose address (offset in
the instruction sequence) is to be stored. |
ArithExpr.java | Class | ArithExpr represents a binary arithmetic expression. |
ArrayLengthExpr.java | Class | ArrayLengthExpr represents the arraylength opcode which
gets length of an array. |
ArrayRefExpr.java | Class | ArrayRefExpr represents an expression that references an element in an array. |
AscendVisitor.java | Class | AscendVisitor is the superclass of Type0Visitor and Type1Visitor,
conveniently containing the common code. |
Assign.java | Interface | Classes that implement Assign involve an assignment (definition). |
CallExpr.java | Class | CallExpr is a superclass of expressions that represent the
invocation of a method. |
CallMethodExpr.java | Class | CallMethodExpr represents the invocation of an object's method. |
CallStaticExpr.java | Class | CallStaticExpr represents the invokestatic opcode which invokes a
class (static) method. |
CastExpr.java | Class | CastExpr represents an expression that casts an object to a given type. |
CatchExpr.java | Class | CatchExpr represents an expression that catches an exception. |
CheckExpr.java | Class | CheckExpr is a superclass for classes representing a check on an expression.
For instance, a CheckExpr is inserted into the tree before the divisor of a
divide operation. |
CondExpr.java | Class | CondExpr is a superclass for conditional expressions. |
ConstantExpr.java | Class | ConstantExpr represents a constant expression. |
DefExpr.java | Class | An expression in which a definition occurs. |
DefInformation.java | Class | |
DescendVisitor.java | Class | DecsendVisitor is the superclass of a few private classes of Type0Visitor and
Type1Visitor. |
EliminationInformation.java | Class | |
Expr.java | Class | Expr is the superclass for a number of other classes representing expressions
in byte code. |
ExprStmt.java | Class | ExprStmt is a statement consisting of an expression. |
FieldExpr.java | Class | FieldExpr represents the getfield opcode which fetches a field from
an object. |
GotoStmt.java | Class | Represents an unconditional branch to a basic block. |
IfCmpStmt.java | Class | IfCmpStmt consists of a comparison expression (a left-hand expression, a
comparison operator, and a right-hand expression) that is to be evaluated. |
IfStmt.java | Class | IfStmt is a super class of statements in which some expression is evaluated
and one of two branches is taken. |
IfZeroStmt.java | Class | IfZeroStmt evaluates an expression and executes one of its two branches
depending on whether or not the expression evaluated to zero. |
InitStmt.java | Class | InitStmt groups together the initialization of local variables (LocalExpr). |
InstanceOfExpr.java | Class | InstanceOfExpr represnts the instanceof opcode which determine if an
object is of a given type. |
JsrStmt.java | Class | JsrStmt represents a jsr instruction that jumps to a subroutine.
Recall that a subroutine is used to implement the finally cause in exception
handlers. |
JumpStmt.java | Class | JumpStmt is the super class for several classes that represent
statements that chang the flow of control in a program. |
LabelStmt.java | Class | LabelStmt is a placeholder in a Tree for a Label (the target of a jump). |
LeafExpr.java | Interface | An expression that can appear as a leaf node in a Tree. |
LEGatherer.java | Class | |
LocalExpr.java | Class | LocalExpr represents an expression that accesses a variable in a method's
local variable table. |
MemExpr.java | Class | An expression that accesses a memory location. |
MemRefExpr.java | Class | MemRefExpr represents an expression that references a memory location as
opposed to a local variable or a variable on the stack. |
MonitorStmt.java | Class | MonitorStmt represents the monitorenter and monitorexit
opcodes, which gain and release ownership of the monitor associated with a
given object. |
NegExpr.java | Class | NegExpr represents the arithmetic negation of an expression. |
NewArrayExpr.java | Class | NewArrayExpr represents the newarray opcode which creates a new
array of a specified length and element type. |
NewExpr.java | Class | NewExpr represents the new opcode that creates a new object of a
specified type. |
NewMultiArrayExpr.java | Class | NewMultiArrayExpr represents the multianewarray opcode which
creates a new multidimensional array. |
Node.java | Class | Node represents a node in an expression tree. |
OperandStack.java | Class | OperandStack is used to simulate the JVM stack. |
PhiCatchStmt.java | Class | A PhiCatchStmt is used to handle variables that are used inside an exception
handler. |
PhiJoinStmt.java | Class | PhiJoinStmt represents a phi-function inserted into a control flow
graph during conversion of variables to static single-assignment form. |
PhiStmt.java | Class | A PhiStmt is inserted into a CFG in Single Static Assignment for. |
PrintVisitor.java | Class | PrintVistor traverses a Tree and prints some information about each visited
Node to a stream. |
RCExpr.java | Class | RCExpr represents a residency check. |
ReplaceVisitor.java | Class | ReplaceVisitor traverses a tree and replaces each occurrence of one Node with
another Node. |
RetStmt.java | Class | RetStmt represents the ret opcode which returns from a subroutine. |
ReturnAddressExpr.java | Class | ReturnAddressExpr represents a return address used with the ret
opcode. |
ReturnExprStmt.java | Class | ReturnExprStmt represents the areturn opcode which returns a
reference from a method. |
ReturnStmt.java | Class | ReturnStmt represents the return opcode which returns
void from a method. |
SCStmt.java | Class | SCStmt represents a swizzle check on an element in an array. |
ShiftExpr.java | Class | ShiftExpr represents a bit shift operation. |
SRStmt.java | Class | SRStmt represents the swizzle of a range of elements in an array. |
StackExpr.java | Class | StackExpr represents an expression that is stored on the stack. |
StackManipStmt.java | Class | StackManipStmt represents the opcodes that manipulate the stack such as
swap and dup. |
StackOptimizer.java | Class | StackOptimizer analyzes the relative distances of various uses of the same
definition of a local variable to add dups and swaps to the bytecode and
eliminate loads and stores. |
StaticFieldExpr.java | Class | StaticFieldExpr represents the getstatic opcode which gets a
static (class) field from a class. |
Stmt.java | Class | Stmt is a super class used to represent statements in a Java bytecode
program. |
StoreExpr.java | Class | StoreExpr represents a store of an expression into a memory location. |
SwitchStmt.java | Class | SwitchStmt represents a switch statement. |
Swizzler.java | Class | Swizzler represents an induction variable that is used as an index into an
array. |
ThrowStmt.java | Class | ThrowStmt represents the athrow opcode which throws an exception
or error. |
Tree.java | Class | Tree represents the expression tree of a basic Block. |
TreeVisitor.java | Class | TreeVisitor performs a traversal of a tree. |
Type0Visitor.java | Class | Type0Visitor searches up the tree, starting at a LocalExpr, looking for an
earlier instance of the same definition of that LocalExpr in a Type 0
relation. |
Type1Visitor.java | Class | Type1Visitor... |
UCExpr.java | Class | UPExpr represents an update check opcode which checks the persistent store to
determine if a variable needs to be updated. |
UseInformation.java | Class | UseInformation stores information about a use of a local variable. |
VarExpr.java | Class | VarExpr represents an expression that accesses a local variable or a variable
on the stack. |
ZeroCheckExpr.java | Class | ZeroCheckExpr represents a check for a zero value. |