Package EDU.purdue.cs.bloat.trans
Class PersistentCheckElimination
- java.lang.Object
-
- EDU.purdue.cs.bloat.trans.PersistentCheckElimination
-
public class PersistentCheckElimination extends java.lang.ObjectAttempts to remove residency checks an update checks from a control flow graph.
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEBUG
-
Constructor Summary
Constructors Constructor Description PersistentCheckElimination()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidtransform(FlowGraph cfg)Examines each residency check (RCExpr) and update check (UCExpr) and determines whether or it is redundent.
-
-
-
Method Detail
-
transform
public void transform(FlowGraph cfg)
Examines each residency check (RCExpr) and update check (UCExpr) and determines whether or it is redundent. If a residency check checks something that we know is resident (i.e. the this pointer or the result of an object creation), then the check is redundent. Once an update check has been performed on a value, all subsequent checks are redundent. Redundent checks are removed from the control flow graph.
-
-