public class LoopKillAndroidModel extends LoopAndroidModel
LoopAndroidModel
body, entryPoints, insts, paramManager
Constructor and Description |
---|
LoopKillAndroidModel(VolatileMethodSummary body,
TypeSafeInstructionFactory insts,
SSAValueManager paramManager,
Iterable<? extends Entrypoint> entryPoints) |
Modifier and Type | Method and Description |
---|---|
protected int |
enterAT_FIRST(int PC)
Loop starts here.
|
protected int |
leaveAT_LAST(int PC)
Loops to AT_FIRST.
|
enterAFTER_LOOP, enterSTART_OF_LOOP
enterEND_OF_LOOP, enterMULTIPLE_TIMES_IN_LOOP
enter, enterAT_LAST, enterBEFORE_LOOP, enterMIDDLE_OF_LOOP, finish, hadSectionSwitch, returnTypesBetween
public LoopKillAndroidModel(VolatileMethodSummary body, TypeSafeInstructionFactory insts, SSAValueManager paramManager, Iterable<? extends Entrypoint> entryPoints)
body
- The MethodSummary to add instructions toinsts
- Will be used to generate the instructionsprotected int enterAT_FIRST(int PC)
#enter(ExecutionOrder.AT_FIRST, int)
instead.
Sideeffects: currentSection is updated, instructions are inserted into the bodyenterAT_FIRST
in class AbstractAndroidModel
PC
- Program Counter instructions shall be placed at. In most cases
you'll simply pass body.getNextProgramCounter()protected int leaveAT_LAST(int PC)
AbstractAndroidModel.finish(int)
instead
Sideeffects: instructions are inserted into the bodyleaveAT_LAST
in class LoopAndroidModel
PC
- Program Counter instructions shall be placed at. In most cases
you'll simply pass body.getNextProgramCounter()