boolean (Instruction first, Instruction second, List<int[]> lstStoreVars) { if (!Instruction.equals(first, second)) { return false; } if (first.group != CodeConstants.GROUP_JUMP) { // FIXME: switch comparison for (int i = 0; i < first.operandsCount(); i++) { int firstOp = first.operand(i); int secondOp = second.operand(i); if (firstOp != secondOp) { // a-load/store instructions if (first.opcode == CodeConstants.opc_aload || first.opcode == CodeConstants.opc_astore) { for (int[] arr : lstStoreVars) { if (arr[0] == firstOp && arr[1] == secondOp) { return true; } } } return false; } } } return true; }