dst[dstPos++] = src[srcPos++];
dst[dstIdx++] = src[srcIdx++];
  public static void arraycopy(byte[] src, int srcPos, byte[] dst, int dstPos, int len) {    // Don't do any of the assignments if the offsets and lengths    // are in error    if (srcPos >= 0 && dstPos >= 0 && len >= 0 && 	(srcPos+len) <= src.length && (dstPos+len) <= dst.length) {      // handle as two cases, for efficiency and in case subarrays overlap      if (src != dst || srcPos >= (dstPos+BYTES_IN_ADDRESS)) {	VM_Memory.arraycopy8Bit(src, srcPos, dst, dstPos, len);      } else if (srcPos < dstPos) {	srcPos += len;	dstPos += len;	while (len-- != 0)	  dst[--dstPos] = src[--srcPos];      } else {	while (len-- != 0)	  dst[dstPos++] = src[srcPos++];      }    } else {      failWithIndexOutOfBoundsException();    }  }