Package soot.options

Class LCMOptions


  • @Generated(value="Saxonica v3.0",
               comments="from soot_options.xml")
    public class LCMOptions
    extends Object
    Option parser for Lazy Code Motion.
    • Constructor Detail

    • 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.