Package soot.options
Class LCMOptions
- java.lang.Object
-
- soot.options.LCMOptions
-
@Generated(value="Saxonica v3.0", comments="from soot_options.xml") public class LCMOptions extends ObjectOption parser for Lazy Code Motion.
-
-
Field Summary
Fields Modifier and Type Field Description static intsafety_mediumstatic intsafety_safestatic intsafety_unsafe
-
Constructor Summary
Constructors Constructor Description LCMOptions(Map<String,String> options)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanenabled()Enabledbooleannaive_side_effect()Naive Side Effect Tester -- Use a naive side effect analysis even if interprocedural information is available.intsafety()Safety This option controls which fields and statements are candidates for code motion.booleanunroll()Unroll If true, perform loop inversion before doing the transformation.
-
-
-
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
-
-
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.
-
-