|
|
@ -842,13 +842,17 @@ public class FinallyProcessor { |
|
|
|
int secondOp = second.operand(i); |
|
|
|
int secondOp = second.operand(i); |
|
|
|
if (firstOp != secondOp) { |
|
|
|
if (firstOp != secondOp) { |
|
|
|
// a-load/store instructions
|
|
|
|
// a-load/store instructions
|
|
|
|
if (first.opcode == CodeConstants.opc_aload || first.opcode == CodeConstants.opc_astore) { |
|
|
|
if (first.opcode == CodeConstants.opc_aload) { |
|
|
|
for (int[] arr : lstStoreVars) { |
|
|
|
for (int[] arr : lstStoreVars) { |
|
|
|
if (arr[0] == firstOp && arr[1] == secondOp) { |
|
|
|
if (arr[0] == firstOp && arr[1] == secondOp) { |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
else if (first.opcode == CodeConstants.opc_astore) { |
|
|
|
|
|
|
|
lstStoreVars.add(new int[]{firstOp, secondOp}); |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|