Class FILiveObjectAnalysis
java.lang.Object
com.ibm.wala.escape.FILiveObjectAnalysis
- All Implemented Interfaces:
ILiveObjectAnalysis
A simple liveness analysis based on flow-insensitive pointer analysis.
-
Constructor Summary
ConstructorsConstructorDescriptionFILiveObjectAnalysis(CallGraph callGraph, HeapGraph<?> heapGraph, boolean expensiveIntraproceduralAnalysis) -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanmayBeLive(InstanceKey ik, CGNode m, int instructionIndex) booleanmayBeLive(InstanceKey ik, CGNode m, IntSet instructionIndices)
-
Constructor Details
-
FILiveObjectAnalysis
-
-
Method Details
-
mayBeLive
public boolean mayBeLive(CGNode allocMethod, int allocPC, CGNode m, int instructionIndex) throws IllegalArgumentException, WalaException - Specified by:
mayBeLivein interfaceILiveObjectAnalysis- Parameters:
allocMethod- a method which holds an allocation siteallocPC- bytecode index of allocation sitem- method in questioninstructionIndex- index of an instruction in SSA IR. in m. if -1, it is interpreted as a wildcard meaning "any statement"- Returns:
- true if an object allocated at the allocation site <allocMethod,allocPC> may be live immediately after the statement <m,instructionIndex>
- Throws:
IllegalArgumentExceptionWalaException
-
mayBeLive
- Specified by:
mayBeLivein interfaceILiveObjectAnalysis- Parameters:
ik- an instance keym- method in questioninstructionIndex- index of an SSA instruction- Returns:
- true if an object allocated at the allocation site <allocMethod,allocPC> may be live immediately after the statement <m,instructionIndex>
-
mayBeLive
- Specified by:
mayBeLivein interfaceILiveObjectAnalysis- Parameters:
ik- an instance keym- method in questioninstructionIndices- indices of instructions in SSA IR.- Returns:
- true if an object allocated at the allocation site <allocMethod,allocPC> may be live immediately after the statement <m,instructionIndex> for any instructionIndex in the set
-