soot.options
Class LCMOptions

java.lang.Object
  extended by soot.options.LCMOptions

public class LCMOptions
extends Object

Option parser for Lazy Code Motion.


Field Summary
static int safety_medium
           
static int safety_safe
           
static int safety_unsafe
           
 
Constructor Summary
LCMOptions(Map options)
           
 
Method Summary
 boolean enabled()
          Enabled -- .
 boolean naive_side_effect()
          Naive Side Effect Tester -- Use a naive side effect analysis even if interprocedural information is available.
 int safety()
          Safety -- .
 boolean unroll()
          Unroll -- .
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

safety_safe

public static final int safety_safe
See Also:
Constant Field Values

safety_medium

public static final int safety_medium
See Also:
Constant Field Values

safety_unsafe

public static final int safety_unsafe
See Also:
Constant Field Values
Constructor Detail

LCMOptions

public LCMOptions(Map options)
Method Detail

enabled

public boolean enabled()
Enabled -- .


unroll

public boolean unroll()
Unroll -- . If true, perform loop inversion before doing the transformation.


naive_side_effect

public boolean naive_side_effect()
Naive Side Effect Tester -- Use a naive side effect analysis even if interprocedural information is available. If Naive Side Effect Tester is set to true, Lazy Code Motion uses the conservative side effect information provided by the NaiveSideEffectTester class, even if interprocedural information about side effects is available. The naive side effect analysis is based solely on the information available locally about a statement. It assumes, for example, that any method call has the potential to write and read all instance and static fields in the program. If Naive Side Effect Tester is set to false and Soot is in whole program mode, then Lazy Code Motion uses the side effect information provided by the PASideEffectTester class. PASideEffectTester uses a points-to analysis to determine which fields and statics may be written or read by a given statement. If whole program analysis is not performed, naive side effect information is used regardless of the setting of Naive Side Effect Tester.


safety

public int safety()
Safety -- . This option controls which fields and statements are candidates for code motion.