Class ControlFlowGraphLoopReducer
java.lang.Object
org.jd.core.v1.service.converter.classfiletojavasyntax.util.ControlFlowGraphLoopReducer
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final ControlFlowGraphLoopReducer.LoopComparator -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BitSet[]private static intcheckMaxOffset(BasicBlock basicBlock) private static intcheckSynchronizedBlockOffset(BasicBlock basicBlock) private static intcheckThrowBlockOffset(BasicBlock basicBlock) identifyNaturalLoops(ControlFlowGraph cfg, BitSet[] arrayOfDominatorIndexes) protected static booleaninSearchZone(BasicBlock basicBlock, BitSet searchZoneIndexes) protected static LoopmakeLoop(List<BasicBlock> list, BasicBlock start, BitSet searchZoneIndexes, BitSet memberIndexes) protected static BasicBlocknewJumpBasicBlock(BasicBlock bb, BasicBlock target) protected static booleanpredecessorsInSearchZone(BasicBlock basicBlock, BitSet searchZoneIndexes) protected static BasicBlockrecheckEndBlock(Set<BasicBlock> members, BasicBlock end) protected static voidrecursiveBackwardSearchLoopMemberIndexes(BitSet visited, BasicBlock current, BasicBlock start) protected static booleanrecursiveForwardSearchLastLoopMemberIndexes(HashSet<BasicBlock> members, BitSet searchZoneIndexes, HashSet<BasicBlock> set, BasicBlock current, BasicBlock end) protected static voidrecursiveForwardSearchLoopMemberIndexes(BitSet visited, BitSet searchZoneIndexes, BasicBlock current, int maxOffset) protected static voidrecursiveForwardSearchLoopMemberIndexes(BitSet visited, BitSet searchZoneIndexes, BasicBlock current, BasicBlock target) static voidreduce(ControlFlowGraph cfg) protected static BasicBlockreduceLoop(Loop loop) private static BasicBlocksearchEndBasicBlock(BitSet memberIndexes, int maxOffset, Set<BasicBlock> members) protected static BitSetsearchLoopMemberIndexes(int length, BitSet memberIndexes, BasicBlock current, BasicBlock start)
-
Field Details
-
LOOP_COMPARATOR
-
-
Constructor Details
-
ControlFlowGraphLoopReducer
public ControlFlowGraphLoopReducer()
-
-
Method Details
-
buildDominatorIndexes
-
identifyNaturalLoops
public static List<Loop> identifyNaturalLoops(ControlFlowGraph cfg, BitSet[] arrayOfDominatorIndexes) -
searchLoopMemberIndexes
protected static BitSet searchLoopMemberIndexes(int length, BitSet memberIndexes, BasicBlock current, BasicBlock start) -
recursiveBackwardSearchLoopMemberIndexes
protected static void recursiveBackwardSearchLoopMemberIndexes(BitSet visited, BasicBlock current, BasicBlock start) -
makeLoop
protected static Loop makeLoop(List<BasicBlock> list, BasicBlock start, BitSet searchZoneIndexes, BitSet memberIndexes) -
searchEndBasicBlock
private static BasicBlock searchEndBasicBlock(BitSet memberIndexes, int maxOffset, Set<BasicBlock> members) -
checkMaxOffset
-
checkSynchronizedBlockOffset
-
checkThrowBlockOffset
-
recursiveForwardSearchLoopMemberIndexes
protected static void recursiveForwardSearchLoopMemberIndexes(BitSet visited, BitSet searchZoneIndexes, BasicBlock current, BasicBlock target) -
recursiveForwardSearchLoopMemberIndexes
protected static void recursiveForwardSearchLoopMemberIndexes(BitSet visited, BitSet searchZoneIndexes, BasicBlock current, int maxOffset) -
recursiveForwardSearchLastLoopMemberIndexes
protected static boolean recursiveForwardSearchLastLoopMemberIndexes(HashSet<BasicBlock> members, BitSet searchZoneIndexes, HashSet<BasicBlock> set, BasicBlock current, BasicBlock end) -
predecessorsInSearchZone
-
inSearchZone
-
recheckEndBlock
-
reduceLoop
-
newJumpBasicBlock
-
reduce
-