soot.options
Class LCMOptions
java.lang.Object
|
+--soot.options.LCMOptions
- public class LCMOptions
- extends java.lang.Object
Option parser for Lazy Code Motion.
Constructor Summary |
LCMOptions(java.util.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 |
safety_safe
public static final int safety_safe
safety_medium
public static final int safety_medium
safety_unsafe
public static final int safety_unsafe
LCMOptions
public LCMOptions(java.util.Map options)
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.