| Package | Description |
|---|---|
| soot.jimple.toolkits.annotation |
A toolkit to annotate classfiles with array and null bounds check information.
|
| soot.jimple.toolkits.annotation.arraycheck |
Classes that carry out an analysis to determine whether or not array bounds
checks are necessary.
|
| soot.jimple.toolkits.annotation.callgraph | |
| soot.jimple.toolkits.annotation.defs | |
| soot.jimple.toolkits.annotation.liveness | |
| soot.jimple.toolkits.annotation.logic | |
| soot.jimple.toolkits.annotation.nullcheck |
Classes that carry out an analysis to determine whether or not null pointer
checks are necessary.
|
| soot.jimple.toolkits.annotation.parity | |
| soot.jimple.toolkits.annotation.profiling | |
| soot.jimple.toolkits.base |
A toolkit to optimize the Jimple IR.
|
| soot.jimple.toolkits.callgraph | |
| soot.jimple.toolkits.graph |
A set of utility classes for program transformation and optimizations.
|
| soot.jimple.toolkits.pointer | |
| soot.jimple.toolkits.scalar |
A toolkit for scalar optimization of Jimple.
|
| soot.jimple.toolkits.scalar.pre |
Particial redundency elimination.
|
| soot.jimple.toolkits.typing |
Implements a typing algorithm for Jimple.
|
| soot.toolkits.exceptions | |
| soot.toolkits.scalar |
A number of scalar optimizations, and the flow analysis framework.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AvailExprTagger
A body transformer that records avail expression
information in tags.
|
class |
DominatorsTagger
A body transformer that records avail expression
information in tags.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ArrayBoundsChecker |
| Modifier and Type | Class and Description |
|---|---|
class |
CallGraphTagger |
| Modifier and Type | Class and Description |
|---|---|
class |
ReachingDefsTagger |
| Modifier and Type | Class and Description |
|---|---|
class |
LiveVarsTagger |
| Modifier and Type | Class and Description |
|---|---|
class |
LoopFinder |
class |
LoopInvariantFinder |
| Modifier and Type | Class and Description |
|---|---|
class |
NullCheckEliminator |
class |
NullPointerChecker |
class |
NullPointerColorer |
| Modifier and Type | Class and Description |
|---|---|
class |
ParityTagger
A body transformer that records parity analysis
information in tags.
|
| Modifier and Type | Class and Description |
|---|---|
class |
ProfilingGenerator |
| Modifier and Type | Class and Description |
|---|---|
class |
Aggregator |
class |
ExceptionChecker |
class |
JimpleConstructorFolder |
class |
PartialConstructorFolder |
class |
ThisInliner |
| Modifier and Type | Class and Description |
|---|---|
class |
ClinitElimTransformer |
class |
UnreachableMethodTransformer |
| Modifier and Type | Class and Description |
|---|---|
class |
CriticalEdgeRemover
removes all critical edges.
A critical edge is an edge from Block A to block B, if B has more than one predecessor and A has more the one successor. As an example: If we wanted a computation to be only on the path A->B this computation must be directly on the edge. |
class |
LoopConditionUnroller
"unrolls" the condition of while/for loops.
before the first test of a while-loop, we can't be sure, if the body will be taken or not, and several optimizations (especially LCM) can't be done. |
| Modifier and Type | Class and Description |
|---|---|
class |
CastCheckEliminatorDumper
A body transformer that simply calls the CastCheckEliminator analysis.
|
class |
FieldRWTagger |
class |
ParameterAliasTagger
Adds colour tags to indicate potential aliasing between method parameters.
|
class |
SideEffectTagger |
| Modifier and Type | Class and Description |
|---|---|
class |
CommonSubexpressionEliminator
Runs an available expressions analysis on a body, then
eliminates common subexpressions.
|
class |
ConditionalBranchFolder |
class |
ConstantPropagatorAndFolder
Does constant propagation and folding.
|
class |
CopyPropagator |
class |
DeadAssignmentEliminator |
class |
LocalNameStandardizer |
class |
NopEliminator |
class |
UnconditionalBranchFolder |
class |
UnreachableCodeEliminator |
| Modifier and Type | Class and Description |
|---|---|
class |
BusyCodeMotion
Performs a partial redundancy elimination (= code motion).
|
class |
LazyCodeMotion
Performs a partial redundancy elimination (= code motion).
|
| Modifier and Type | Class and Description |
|---|---|
class |
TypeAssigner
This transformer assigns types to local variables.
|
| Modifier and Type | Class and Description |
|---|---|
class |
TrapTightener
|
| Modifier and Type | Class and Description |
|---|---|
class |
LocalPacker
A BodyTransformer that attemps to minimize the number of local variables used in
Body by 'reusing' them when possible.
|
class |
LocalSplitter
A BodyTransformer that attemps to indentify and separate uses of a local
varible that are independent of each other.
|
class |
RoboVmLocalPacker
A BodyTransformer that attemps to merge back Locals that have same local index and same type
It has to be called after TypeAssigner
|
class |
UnusedLocalEliminator
A BodyTransformer that removes all unused local variables from a given Body.
|
Copyright © 2012-2019 RoboVM AB. All Rights Reserved.