Class SynchronizedRegionMaker
java.lang.Object
jadx.core.dex.visitors.regions.maker.SynchronizedRegionMaker
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final org.slf4j.Loggerprivate final MethodNodeprivate final RegionMaker -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static booleancanRemoveSyncBlock(MethodNode mth, InsnNode synchInsn) (package private) BlockNodeprocess(IRegion curRegion, BlockNode block, InsnNode insn, RegionStack stack) static voidprivate static voidtraverseMonitorExits(SynchronizedRegion region, InsnArg arg, BlockNode block, Set<BlockNode> exits, Set<BlockNode> visited) Traverse from monitor-enter thru successors and collect blocks contains monitor-exitprivate static BlockNodeTraverse from monitor-enter thru successors and search for exit paths cross
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
mth
-
regionMaker
-
-
Constructor Details
-
SynchronizedRegionMaker
SynchronizedRegionMaker(MethodNode mth, RegionMaker regionMaker)
-
-
Method Details
-
process
-
traverseMonitorExits
private static void traverseMonitorExits(SynchronizedRegion region, InsnArg arg, BlockNode block, Set<BlockNode> exits, Set<BlockNode> visited) Traverse from monitor-enter thru successors and collect blocks contains monitor-exit -
traverseMonitorExitsCross
private static BlockNode traverseMonitorExitsCross(BlockNode block, Set<BlockNode> exits, Set<BlockNode> visited) Traverse from monitor-enter thru successors and search for exit paths cross -
removeSynchronized
-
canRemoveSyncBlock
-