JDK-6912521 added support for exploding arraycopy into the series of individual loads and stores. However, that apparently only works when copy size is statically known. In some interesting cases, it does not, see e.g. JDK-8148937, that uses String APIs doing the arraycopies for trivial delimiters, and that apparently penalizes performance.
Benchmark + performance data:
http://cr.openjdk.java.net/~shade/8149758/ArrayCopyDynamic.java
Runnable JAR:
http://cr.openjdk.java.net/~shade/8149758/benchmarks.jar