SandMark version 3.0


sandmark.util.opaquepredicatelib
Class OpaqueManager

java.lang.Object
  |
  +--sandmark.util.opaquepredicatelib.OpaqueManager

public class OpaqueManager
extends java.lang.Object

The OpaqueManager class encapsulates the various opaque predicate libraries. This forms an interface between the user and the detailed low level implementation of the various opaque predicates such as 'algebraic' predicates, 'heap/alias analysis' predicates, 'thread contention' predicates, etc. Each of these predicates are implemented in there own different classes extending from a base class.

Author:
Ashok Purushotham Ramasamy Venkatraj (ashok@cs.arizona.edu) Tapas R. Sahoo(tapas@cs.arizona.edu)

Constructor Summary
OpaqueManager(de.fub.bytecode.generic.MethodGen mg, ClassFileCollection cfCollection)
          Constructor
 
Method Summary
 void buildAlgebraicPredicate(de.fub.bytecode.generic.InstructionHandle from, de.fub.bytecode.generic.InstructionHandle to, int opaqueType)
           
 de.fub.bytecode.generic.MethodGen buildRuntimeIntValPredicate(int sp, int ep, java.util.ArrayList al)
           
 de.fub.bytecode.generic.MethodGen buildRuntimeIsNullPredicate(int sp, int ep, java.util.ArrayList al, boolean SingleBasicBlock)
           
 de.fub.bytecode.generic.MethodGen buildRuntimeStringValPredicate(int sp, int ep, de.fub.bytecode.generic.ConstantPoolGen cpg1, java.util.ArrayList al)
           
 int getOpaqueType()
           
 void setOpaqueType(int predicateType)
          0 - opaquely 'true' 1 - opaquely 'false' 2 - true/false
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OpaqueManager

public OpaqueManager(de.fub.bytecode.generic.MethodGen mg,
                     ClassFileCollection cfCollection)
Constructor

Method Detail

setOpaqueType

public void setOpaqueType(int predicateType)
0 - opaquely 'true' 1 - opaquely 'false' 2 - true/false


getOpaqueType

public int getOpaqueType()

buildAlgebraicPredicate

public void buildAlgebraicPredicate(de.fub.bytecode.generic.InstructionHandle from,
                                    de.fub.bytecode.generic.InstructionHandle to,
                                    int opaqueType)

buildRuntimeIsNullPredicate

public de.fub.bytecode.generic.MethodGen buildRuntimeIsNullPredicate(int sp,
                                                                     int ep,
                                                                     java.util.ArrayList al,
                                                                     boolean SingleBasicBlock)

buildRuntimeIntValPredicate

public de.fub.bytecode.generic.MethodGen buildRuntimeIntValPredicate(int sp,
                                                                     int ep,
                                                                     java.util.ArrayList al)

buildRuntimeStringValPredicate

public de.fub.bytecode.generic.MethodGen buildRuntimeStringValPredicate(int sp,
                                                                        int ep,
                                                                        de.fub.bytecode.generic.ConstantPoolGen cpg1,
                                                                        java.util.ArrayList al)

SandMark version 3.0

Wed Jan 29 10:30:05 MST 2003